Уловка не работает с исключением, когда оно выбрасывается.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Уловка не работает с исключением, когда оно выбрасывается.

Сообщение Anonymous »

К сожалению, мне не нужно контролировать getUserByUserId(String). Его поведение заключается в том, чтобы вернуть User, если пользователь найден, и выдать исключение OntNoObjectExistsException, если пользователь не найден. Моя проблема в том, что по какой-то причине перехват не работает OntNoObjectExistsException, когда он выбрасывается.
Иерархия типов для этого исключения: OntNoObjectExistsException -> OntException -> Exception -> Throwable.

Код: Выделить всё

public boolean isUserIdAvailable(String userId) {
try {
return super.getUserByUserId(userId) == null;
} catch (OntNoObjectExistsException e){
return true;
} catch (Exception ex) {
appLog.error(ex.getMessage());
}
return false;
}
Я попробовал этот код, чтобы проверить ситуацию, но проблема не устранена. Обратите внимание: я ловлю Throwable.

Код: Выделить всё

public boolean isUserIdAvailable(String userId) {
try {
return super.getUserByUserId(userId) == null;
} catch (Throwable ex) {
appLog.error(ex.getMessage());
}
return false;
}
Вот трассировка стека:

Код: Выделить всё

com.opennetwork.exception.OntNoObjectExistsException: User not found
at com.bcbst.dsmart.api.WebUser.getUserByUserId(WebUser.java:411)
at com.bcbst.dsmart.api.WebProspectiveMemberBean.isUserIdAvailable(WebProspectiveMemberBean.java:71)
at com.bcbst.dsmart.api.EJSLocalStatelessWebProspectiveMember_ce00ef7b.isUserIdAvailable(EJSLocalStatelessWebProspectiveMember_ce00ef7b.java:120)
at com.bcbst.prospectivememberweb.actions.UsageagreementAction.execute(UsageagreementAction.java:61)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
Также обратите внимание: это Java 1.4. Что-то еще, что я сейчас не могу контролировать.


Подробнее здесь: https://stackoverflow.com/questions/132 ... ets-thrown
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»