Hallo,
mir ist der ganze Kram mit den Exceptions überhaupt nicht klar.
Bisher hab ich immer sowas gebaut:
[Java] public static char[] return_characters()
throws Exception
{
if(is_init == true)
return characters;
else
throw new Exception("Chars not initialized");
}[/code]
Ein Kumpel meinte jetzt zu mir, dass wäre ganz furchtbar, weil die Exception nicht abgefangen wird.
Das Programm soll aber definitiv abbrechen, wenn der Fehler auftritt, da ohne die characters nicht weitergearbeitet werden kann.
Wenn ich nun aber try - catch drumbaue, muss ich irgendeinen Rückgabewert angeben. Das ist in meinen Augen aber sinnlos, weil der ja nach Programmabbruch nie erreicht wird.
Also quasi so:
Ohne die unteren beiden Zeilen muckt er rum, aber die sind ja komplett sinnlos.
Wie baut man das also richtig, ohne solchen Mumpitz mit dem return anhängen zu müssen?
Ist die obere Version wirklich solch schlechter Stil und sollte vermieden werden?
Danke schonmal.
mir ist der ganze Kram mit den Exceptions überhaupt nicht klar.
Bisher hab ich immer sowas gebaut:
[Java] public static char[] return_characters()
throws Exception
{
if(is_init == true)
return characters;
else
throw new Exception("Chars not initialized");
}[/code]
Ein Kumpel meinte jetzt zu mir, dass wäre ganz furchtbar, weil die Exception nicht abgefangen wird.
Das Programm soll aber definitiv abbrechen, wenn der Fehler auftritt, da ohne die characters nicht weitergearbeitet werden kann.
Wenn ich nun aber try - catch drumbaue, muss ich irgendeinen Rückgabewert angeben. Das ist in meinen Augen aber sinnlos, weil der ja nach Programmabbruch nie erreicht wird.
Also quasi so:
Java:
public static char[] return_characters()
{
if(is_init == true)
return characters;
else
try {
throw new Exception("Chars not initialized");
} catch (Exception ex) {
System.err.println(ex);
System.exit(-1);
char[] charreturn = {' ', ' '};
return charreturn; //Needed so the method does compile, but never reached
}
Wie baut man das also richtig, ohne solchen Mumpitz mit dem return anhängen zu müssen?
Ist die obere Version wirklich solch schlechter Stil und sollte vermieden werden?
Danke schonmal.