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.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage