Step 3 (S-47511)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/12772/step/3

Step 3 (S-47511) 1.png

[00:00 - 00:17] все эти способы уведомление частей программы о случившихся ошибках имеет серьезные недостатки счастью есть решения которые их лишено и оно состоит в использовании исключений исключение это событие которое случается в процессе работы программы


[00:17 - 00:34] и прерывать стандартный ход ее исполнение программа переходит специальный режим поиска обработчиков нештатной ситуации такое обработчик может предпринять какие то действия и вернуть программу штатный режим работы но если обработчика не нашлось


[00:34 - 00:50] живьем все таки завершит программу но обеспечит достаточно подробный диагностический вывод по которому если не пользователь то хотя бы программист поймет куда копать исключения подержанная


[00:50 - 01:08] на уровне языка java то есть ключевых слов и синтаксических конструкций кроме того они используются на уровне виртуальной машины которая сообщает о многих своих проблемах бросает исключение ну и разумеется вся стандартная библиотека тоже активно использует исключения


[01:08 - 01:26] приведу несколько самых популярных исключением какие то из них вы наверняка уже получали когда писали свои 1 программы java lang nullpointerexception или java программиста зовут его просто


[01:26 - 01:41] это исключение выбрасывается живем когда идет обращение по нулевой ссылке другими словами есть примерно ссылочного типа куда положили начало потом пытаются по этой ссылке вызвать метод или обратиться


[01:41 - 01:57] виртуальная машина кинет такое исключение которое при отсутствии обработчика приведет к аварийной остановки и распечатки в консоли информации об исключении распечатана будет следующее тип исключения


Step 3 (S-47511) 2.png

[01:57 - 02:14] возможно какое то сообщение с деталями и stack trace вся цепочка вызовов начиная от точки входа в программу и заканчивая методом где собственно случилось ошибка здесь же для каждого метода видно имени исходного файла


[02:14 - 02:29] и страховых нем другое значение индекса то bounce exception случается если попытаться обратиться к несуществующему элементу массива в отрицательному индексу или по индексу больше или равную длине массива


Step 3 (S-47511) 3.png

[02:29 - 02:49] аналогично исключения ринг index out of bounds exception случится если обратиться к несуществующему символов в строке исключения java ее file not found exception случиться при попытке открытие несуществующего файла


[02:49 - 03:04] оно является подклассом более общего java exception экземпляры которые бросаются при самых разных ошибках ввода вывода


[03:04 - 03:20] исключениями представлены и разные ошибки самой виртуальной машины например когда живьем не хватает памяти на создание нового объекта она бросает исключение типа outofmemory которые даже может попытаться обработать


[03:20 - 03:27] другое дело что обычно делать этого не стоит потому что в этой ситуации предпринять что то разумное довольно проблематично