Laden...

Frage zu finally{}

Letzter Beitrag vor 18 Jahren 10 Posts 3.143 Views
Frage zu finally{}

Bin mir nicht ganz sicher, wird der finally Block immer ausgeführt
egal ob eine Exception geworfen wird ?

Meine mal gelesen zu haben das finally immer ausgeführt wird.

Falls ja gibt es eine Möglichkeit etwas nur auszuführen wenn eine Exception geworfen wird ?

Gruß

rockthecity

Urlaubsorte suchen: http://www.tripedio.de

Original von rockthecity
Bin mir nicht ganz sicher, wird der finally Block immer ausgeführt
egal ob eine Exception geworfen wird ?

Ja.

Falls ja gibt es eine Möglichkeit etwas nur auszuführen wenn eine Exception geworfen wird ?

catch {}

Hi!

Wenn du etwas nur ausführen möchtest, wenn eine Exception auftritt, dann setze einen try-block und fange mit catch(EineException ex) die Exception ab. Wenn du einen finally-Block anschließt wierden die Anweisungen darin auf jeden Fall noch ausgeführt. Im fehlerlosen und im Fehlerfall. Exceptions sollte man generell im gesamten Code abfangen.
Genaueres dazu findest du in der MSDN und im guide to C#.

der Marcel 🙂

:] 😄Der größte Fehler eines modernen Computers sitzt meist davor 😁 :]

So wie ich die Theorie verstanden habe
kann ich mir nicht sicher sein das der Code im catch{} Block ausgeführt wird, oder ?

Urlaubsorte suchen: http://www.tripedio.de

Hi!

Der Code im catch-Block wird immer dann ausgeführt, wenn eine zum catch passende Exception aus dem try-Block kommt. Die Anweisungen im finally-Block immer.

der Marcel

:] 😄Der größte Fehler eines modernen Computers sitzt meist davor 😁 :]

@derMarcel: try und catch verwende ich ja ich möchte aber nur etwas ausführen wenn die Exception geworfen wurde.

Edit:

Ok, danke ?

Urlaubsorte suchen: http://www.tripedio.de

Wo ist dann das Problem? Wenn du willst das etwas nur ausgeführt wird wenn die Exception geworfen wurde dann packs in den catch-Block.

Wie gesagt mir war nicht bekannt das der catch Block die Anweisung auf jeden Fall ausführt.

Urlaubsorte suchen: http://www.tripedio.de

Wenn eine Exception geworfen wird, die du auch fängst (gibt ja auch die Möglichkeit alle erdenklichen Exceptions zu fangen), dann wird der catch-Block auch ausgeführt und dann sollte da auch dein Code drinstehen.

Hat ja derMarcel schon erwähnt.

Trotzdem danke

Urlaubsorte suchen: http://www.tripedio.de