Laden...

Frage zu finally{}

Erstellt von rockthecity vor 18 Jahren Letzter Beitrag vor 18 Jahren 3.088 Views
R
rockthecity Themenstarter:in
297 Beiträge seit 2005
vor 18 Jahren
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

M
2 Beiträge seit 2005
vor 18 Jahren

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 {}

564 Beiträge seit 2006
vor 18 Jahren

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 😁 :]

R
rockthecity Themenstarter:in
297 Beiträge seit 2005
vor 18 Jahren

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

564 Beiträge seit 2006
vor 18 Jahren

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 😁 :]

R
rockthecity Themenstarter:in
297 Beiträge seit 2005
vor 18 Jahren

@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

V
842 Beiträge seit 2003
vor 18 Jahren

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.

R
rockthecity Themenstarter:in
297 Beiträge seit 2005
vor 18 Jahren

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

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

V
842 Beiträge seit 2003
vor 18 Jahren

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.

R
rockthecity Themenstarter:in
297 Beiträge seit 2005
vor 18 Jahren

Hat ja derMarcel schon erwähnt.

Trotzdem danke

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