Rückgabe

Status
Nicht offen für weitere Antworten.
S

Samuel

Gast
Ichh ab da mal ne Frage und ich vermute, weiß aber die Antwort nicht.
Da ich aus der PHP Ecke komme, bin ich von Funktionen sowas nicht gewöhnt.

Wenn ich eine Funktion mit dem Rückgabetyp integer habe, die mir alle Werte des Bereichs liefert, habe.
Wie kann ich dann feststellen, wenn etwas schief läuft?
Also in PHP könnte ich ja problemlos ein false zurückgeben, aber wie läuft es bei Java?
Ich schätz die einzige Methode ist Exceptionhandling, oder?
Wird bei sowas die Exception innerhalb der Funktion als Rückgabewert durchgereicht?
Oder muss ich die funktion in eine Try Anweisung packen?
 

Sky

Top Contributor
Es gibt verschiede Ansätze...

- Deine Methode kann eine Exception werfen. try-catch ist nicht immer notwedig (vgl. RuntimeException)

- Wenn deine Methode bspw. ein "int" zurück gibt, so könntest Du negative Werte (sofern nicht zum Wertebereich der Funktion gehörend) zurückgeben (Bsp: String#indexOf: Gibt die Pos. eines Strings in einem anderem String zurück oder -1, wenn es nicht gefunden wird.)

- Ist dein Rückgabwert ein Obejct (oder davon abgeleitet) so könntest du im Fehlerfall 'null' zurück geben.

Was Du am Ende machst kommt immer ganz darauf an, welchen Rückgabewert Du hast und wie wahrscheinlich das Auftreten der Ausnahme ist.
 
S

Samuel

Gast
Deshalb sagte ich ja, die Funktion liefert den ganzen Wertebereich
 

Sky

Top Contributor
Verstehe deine Antwort nicht !

Nochmal: Ist es ein 'int' --> Exception
Ist es ein 'Integer' --> Exception ODER Rückgabe = null
 
S

Samuel

Gast
Ich dachte int ist integer?
Also ich hab da oben versucht zu sagen, dass die Funktion keine negativen Werte ala Steuerung zurückgeben kann, da negative Werte in den erforderlichen Wertebereich fallen.
Sei es, ka eine Funktion die Temeperatur wiedergibt, da gibts ja auch -1
 
B

Beni

Gast
Ein "int" ist ein primitiver Datentyp, ein "Integer" ist eine Klasse die einen "int" darstellt. Ein "integer" gibt es nicht.

So wie du das jetzt schreibst: benutz eine Exception.

Z.B. mit einer RuntimeException, wenn der Fehler sehr unwahrscheinlich ist.
Code:
public int f* int x ){
  if( ... )
    throw new IllegalArgumentException( "x ist total falsch" );
  ...
}
 
S

Samuel

Gast
Achso, ich wusste nicht, dass Integer eine Klasse ist.


Mh... moment, wusste ich doch, habs nur vergessen. Sorry für die Verwirrung
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben