Если ваш PhoneNumberInUseException
класс выглядит примерно так:
public class PhoneNumberInUseException extends RuntimeException {
public PhoneNumberInUseException() {
super();
}
}
, и вы добавляете его в сервис, как это:
throw new PhoneNumberInUseException();
, тогда ваш код должен срабатыватьправильно.Это, конечно, при условии, что ваша служба объявила, что она выдает PhoneNumberInUseException
, например:
public interface SomeService extends RemoteService {
void doSomething(Object someObject) throws PhoneNumberInUseException;
}
public interface SomeServiceAsync {
void doSomething(Object someObject, AsyncCallback callback);
}
public class SomeServiceImpl extends RemoteServiceServlet implements SomService {
public void doSomething(Object someObject) throws PhoneNumberInUseException {
if(somethingHappened) {
throw new PhoneNumberInUseException();
} else {
doSomethingCool();
}
}
}
Если после того, как вы убедились, что все должно работать правильно, выВозможно, вы захотите поставить точку останова на линии
if (caught instanceof PhoneNumberInUseException)
и выяснить, что такое класс caught
.Если это , а не PhoneNumberInUseException
, вы, вероятно, не прочитали документацию очень хорошо.