Zitat von
Jelly:
Code:
public int Test {
try {
int i = 3;
return i ;
}
catch (
exception) {
int i = 5;
return i ;
}
}
Das soll eine Funktion sein, die einen int zurückgibt. Mehr nicht. Was ich zeigen wollte, ist dass der Compiler meckert, dass der Rückgabewert von Test eventuell nicht definiert ist.
Ich weiss nicht, welchen Compiler du verwendest, aber das VS05 kompiliert das einwandfrei, zumal auch in jedem Fall ein Wert zurueckgegeben wird. Ein entsprechender Fehler in deinem Code ist also nicht ein C#-Problem, sondern ein Compiler-Bug
Ansonsten ist das eher ein Zeichen von Konsistenz, dass alles, was verwendet werden will, auch initialisiert werden soll, so auch der Rueckgabewert. Es gibt (fast) keine schlimmeren Fehlerquellen als Funktionen, die in bestimmten Faellen unbestimmbares Verhalten aufzeigen, weil eine Variable oder ein Rueckgabewert nicht gesetzt wird.
greetz
Mike