Как обработать исключение?

377
15 февраля 2017, 22:20

Есть try { //в этом блоке мы пишем код, где может возникнуть ошибка }

Есть catch(ошибка){ // тут если выскакивает ошибка мы пишем код, который должен выполнится и Приложение закрывается??

Есть finally { код который выполнится внезависимости от того, будет ли исключение или не будет.

Т.Е если вылетело исключение, то сначала выполняется код из блока catch, а потом из finally

Если исключение не вылетело, то выполняется код, из блока finally ?

Как я правильно понимаю, т.е для того, чтобы Приложение не закрывалось при ошибке, то нужно сделать все , чтобы прекратить эту ошибку в блоке catch, и продолжить выполнение кода программы в блоке finally?

Answer 1

В try находится код, в котором может произойти Exception.

В блоке catch(..) находится код, который каким-то образом обработает ошибку (возможно и закроет приложение или Activity, если это необходимо)

Блок finally вызывается всегда (и когда произошла ошибка, и когда не произошла). try, catch можно реализовывать без блока finally.

Блоков catch может быть больше, чем один. Под каждую ошибку - свой блок, например:

try{ code...}
catch (FileNotFoundException e) { code... }
catch (IOExeption e){ code... }
finally { code... }

Это необходимо для того, чтобы разные ошибки обрабатывать необходимым для них образом.

READ ALSO
Есть 2 TimerTask подскажите как их остановить на время

Есть 2 TimerTask подскажите как их остановить на время

Есть 2 TimerTask подскажите как их остановить на время

301
Andoird server на Java [требует правки]

Andoird server на Java [требует правки]

Как можно написать под Android сервер, если у него не постоянный IP, как к нему подключаются устройства? И второй вопрос, я понимаю и научился писать...

351
настройки относительных путей в IntelliJ IDEA

настройки относительных путей в IntelliJ IDEA

помогите разобраться от чего зависит корректный относительный путь к файлу в проекте, к примеру:

397
проблема с обработкой столкновения

проблема с обработкой столкновения

в классе "math" есть метод "p" отвечаюший за движение персонажа

372