![]() |
![]() |
|
|
|||||||
| Programmierung Rat & Tat für Programmierer |
![]() |
|
|
Themen-Optionen | Ansicht |
|
|
|
|
#1 |
|
Hero
![]() Registriert seit: 04.09.2001
Beiträge: 894
|
@Who-T: Danke !!
auf sowas habe ich nicht gedacht - jetzt ist mir der sinn natürlich klar. (ist wieder eins von den dingen, die einem im nachhinein betrachtet dann voll logisch vorkommen). Hab noch ein kleines Beispielprogramm geschreiben - der Vollständigkeit halber: Code:
//
// Funktion 1 erzeugt eine Exception, die nicht abgefangen wird
// in diesem Fall wird dann der Code bei Finally durchgeführt und
// die Funktion beendet.
//
// Grund: Es kann sein, dass man nicht alle auftretenden Excetions
// in der Funktion bearbeiten kann !
//
// Die Exception sollte dann jedoch im Hauptprogramm (bzw. der
// aufrufenden Funktion abgefangen werden.
//
static public void funktion1()
{
try
{
MessageBox.Show("Try - Funktion 1");
// nach diesem throw (der in der Fu. nicht verarbeitet wird),
// wird sofort der "finally" Zweig (und nichts sonst)
// ausgeführt
throw new NullReferenceException();
}
catch(IOException ex)
{
MessageBox.Show("IO-Excpetion caught - Funktion 1");
}
finally
{
MessageBox.Show("Finally Block - Funktion 1");
}
MessageBox.Show("Ende der Funktion 1");
}
//
// In dieser Funktion wird die "Funktino 1" aufgerufen und
// die Exceptions, die in der Funktion nicht behandlet werden, behandelt
//
private void button1_Click(object sender, System.EventArgs e)
{
try
{
MessageBox.Show("Try der aufrufenden Funktion");
funktion1();
}
catch (NullReferenceException ex)
{
MessageBox.Show ("NullReferenceException caught - aufrufende Funktion");
}
// Hier werden ALLE Exceptions verarbeitet
catch (Exception ex)
{
MessageBox.Show("Exception caught - aufrufende Funktion");
}
finally
{
MessageBox.Show ("Finally - aufrufende Funktion");
}
MessageBox.Show ("Ende - aufrufende Funktion");
}
-------- Try der aufrufenden Funktion Try - Funktion 1 Finally Block - Funktion 1 NullReferenceException caught - aufrufende Funktion Finally - aufrufende Funktion Ende - aufrufende Funktion Danke an alle + schöne, erholsame Feiertage ! -hannes |
|
|
|
![]() |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|