2016-07-27 2 views
-1

У меня есть блок кода следующим образомБросить из программы j2ee без использования System.quit или возврата

public Message functionName() 
    { 
    ... 
    try 
    { 
    Message message; 
    //something 
    } 
    catch 
    { 
    ... 

    // quit here 
    } 
    return message 
    } 

Бросив исключение из блока улова я хочу, чтобы остановить дальнейшее выполнение. Я не могу использовать System.quit(), так как он убивает сервер. Я не могу использовать return 1;, так как он ожидает, что тип возвращаемого типа будет иметь тип. Есть ли другой способ сделать это?

+0

Что именно вы пытаетесь сделать? завершить сеанс? выйти из системы? – Stultuske

+0

Но если вы не заботитесь о том, что он возвращает, вы не можете просто вернуть 'новое сообщение()'? –

ответ

0

Это зависит от контекста (а также от договора API).

Если Message что-то будет отображаться/вход (т.е. просто «обертка» вокруг некоторой текстовой информации), я хотел бы вернуться новый Message с сообщением об ошибке от Exception пойманной в catch блоке.

В противном случае вы можете указать return null; (хотя это считается не лучшей практикой) или создать исключение - либо оригинальное, либо новое с соответствующим сообщением (и, альтернативно, оригинальным как первопричина).

Смежные вопросы