Выдайте пользовательское исключение от сервиса до действия

Euler Проекта имеет много интересных проблем математики, которые могли предоставить большой материал начинающему программисту для получения первый опыт в. Проблемы начинаются легкий и увеличение трудности, и сеть полна демонстрационных решений на различных языках программирования .

6
задан dasilvj 26 November 2009 в 00:19
поделиться

2 ответа

Если №1 означает то, что я думаю, я бы использовал это - пусть служба перехватит исключение и вызовет метод для определенного AIDL объекта обратного вызова, созданного и предоставленного действием. .

Вы можете увидеть пример этой техники в проекте клиента и службы из одной из моих книг.

5
ответ дан 16 December 2019 в 21:41
поделиться

It looks like we can throw custom exceptions derived from RemoteException. So you can have XMPPRemoteException, or just a generic MyRemoteException that will hold the original exception. Below is a demo for the second case:

Server:

try {
    ...
}
catch(XMPPException e) {
    throw new MyRemoteException(e);
}

Client:

try {
    service.someCall();
}
catch(MyRemoteException e) {
    rethrow(e);
}

Helper method:

private void rethrow(MyRemoteException e) throws Exception {
    if(e.innerException instanceof XMPPException)
        throw (XMPPException)e.innerException;
    else
        throw e.innerException;
}

Exception:

public class MyRemoteException extends RemoteException {
    private static final long serialVersionUID = 1L;
    public Exception innerException;

    public MyRemoteException() {}

    public MyRemoteException(Exception innerException) {
        this.innerException = innerException;
    }
}
3
ответ дан 16 December 2019 в 21:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: