Hallo Leute!
Ich bin jetzt schon seit einem Tag an diesem Problem dran.
Und zwar will über eine GUI Anwendung Vorname, Nachname und Ort in einem mysql datenbank eintragen lassen.
Nun will ich im action performed die unten genannte Methode aufrufen und den Nachnamen, Vornamen und Ort zu setzen und dann den Mapper aufzurufen, der das ganze in die Datenbank einträgt.
Java:
publicPersoncreatePerson(String nachname,String vorname,String ort)throwsRemoteException{Person p =newPersonImpl();
p.setNachname(nachname);
p.setVorname(vorname);
p.setOrt(ort);returnthis.pMapper.insert(p);}
Nun zu meinem Problem:
Ich weiß nicht was an diesem Code Schnipsel falsch ist. Aber Netbeans sagt mir immer das ich folgendes mit mit try catch umgeben soll.
Java:
returnthis.pMapper.insert(p);
Wenn ich das dann jedoch zulasse, dann sagt mir Netbeans bei der RemoteException "missing return statement"!
Habt ihr irgend eine Ahnung an was das liegen könnte?
Ich bin mir eigentlich ziemlich sicher, das der code richtig ist.
Wenn ihr noch andere Code schnipsel braucht, dann bitte melden
die Exception musst du abfangen,
und im Falle einer Exception wird das return umgangen, also musst du für diesen Fall noch ein return festlegen
oder selber wiederum eine Exception werfen
try{returnthis.pMapper.insert(p);}catch(...){// hier fängt er die Fehler ab}catch(...){// so viel wie er will}
Da meckert der Compiler rum, da das return nicht sicher ist. Also musst Du noch ein return null zB anhängen:
Java:
try{returnthis.pMapper.insert(p);}catch(...){// hier fängt er die Fehler ab}catch(...){// so viel wie er will}returnnull;
Soweit kommt er eigtl nie, da er entweder vorher das returnt (also den Mapper.insert(..)...) oder ne Exception wirft. Der Compiler ist aber dann zufrieden.
> Soweit kommt er eigtl nie, da er entweder vorher
deine catch-Blöcke enthalten noch nicht viel, die stellen noch nicht gerade sicher, dass das finale return nicht benötigt wird
wenn aber in jedem catch wieder ein return oder throw .. steht, dann ist der Compiler auch ohne return null; am Ende zufrieden
oder meckert eher noch: "Unreachable Code"
Besser: Die try-Anweisung separat schreiben, das Rückgabeergebnis von
pMapper.insert(p) zwischenspeichern und den gespeicherten
Wert getrennt zurückgeben:
Java:
Person retValue =null;try{
retValue = pMapper.insert(p);}catch(WasAuchImmerFürEineException exi){...}return retValue
Besser: Die try-Anweisung separat schreiben, das Rückgabeergebnis von
pMapper.insert(p) zwischenspeichern und den gespeicherten
Wert getrennt zurückgeben:
Java:
Person retValue =null;try{
retValue = pMapper.insert(p);}catch(WasAuchImmerFürEineException exi){...}return retValue