Я довольно новичок в разработке Java и Android. Я посмотрел на код AsyncTask
и увидел класс бросает 3 Исключения:Почему TimeoutException не нужно улавливать при выполнении AsyncTask?
InterruptedException
ExecutionException
TimeoutException
Когда я запускаю метод выполнения на AsyncTask
объекта, почему что компилятор жалуется, если я не поймаю InterruptedException
и ExecutionException
, но не жалуюсь на TimeoutException
?
В целом, как мы узнаем, какие исключения необходимо поймать? (Разумеется, я смотрю на ошибки компилятора и записываю недостающие блоки catch, но я хотел бы понять, что за ним стоит руководитель).
спасибо!
Example code:
public void test() {
AsyncTask at = new AsyncTask() {
@Override
protected Object doInBackground(Object[] params) {
return null;
}
};
Object o;
try {
o = at.execute().get();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}
Edit: я проверил, что TimeoutException
является проверяемым исключение (которое должно быть пойманы). Однако @NicolasFilotto уже ответил на мой вопрос. Спасибо вам всем.
Я проверил, что TimeoutException является проверенным исключением. Однако @NicolasFilotto уже ответил на мой вопрос. Спасибо вам всем. –