Java-Rückgabewert (in try / catch-Klausel)
jeder. Ich habe eine Anfängerfrage zum Rückgabewert in Java. Hier ist mein Code.
<code>@Override public long addDrugTreatment(long id, String diagnosis, String drug, float dosage) throws PatientNotFoundExn { try { Patient patient = patientDAO.getPatientByDbId(id); long tid = patient.addDrugTreatment(diagnosis, drug, dosage); Connection treatmentConn = treatmentConnFactory.createConnection(); Session session = treatmentConn.createSession(true, Session.AUTO_ACKNOWLEDGE); MessageProducer producer = session.createProducer(treatmentTopic); TreatmentDto treatment = null; ObjectMessage message = session.createObjectMessage(); message.setObject(treatment); producer.send(message); return tid; } catch (PatientExn e) { throw new PatientNotFoundExn(e.toString()); } catch (JMSException e) { logger.severe("JMS Error: " + e); } } </code>
Eclipse meldet den Fehler "Diese Methode muss ein Ergebnis vom Typ long zurückgeben". Trotzdem habe ich die Nachricht im Try-Block zurückgegeben. eclipse schlägt vor, nach dem try / catch-Block einen Rückgabewert einzufügen, der die Logik unterbrechen würde. Könnten Sie mir bitte sagen, was hier falsch ist? Vielen Dank.