Изменения

Перейти к: навигация, поиск

Обработка ошибок и исключения

182 байта добавлено, 18:48, 5 октября 2013
Классификация исключений
==Классификация исключений==
Класс Java <code>Throwable </code> описывает все, что может быть брошено как исключение. Наследеники <code>Throwable </code> - <code>Ecxeption </code> и <code>Error </code> - основные типы исключений. Также <code>RuntimeException</code>, унаследованный от <code>Exception</code>, является существенным классом.
[[Файл:Exceptions.png|400px|thumb|right|Иерархия стандартных исключений]]
===Проверяемые исключения===
Наследники класса <code>Exception </code> (кроме наслеников <code>RuntimeException</code>) являются проверяемыми исключениями(''checked exception''). Как правило, это ошибки, возникшие по вине внешних обстоятельств или пользователя приложения – неправильно указали имя файла, например. Эти исключения должны обрабатываться в ходе работы программы, поэтому компилятор проверяет наличие обработчика или явного описания тех типов исключений, которые могут быть сгенерированы некоторым методом.
Все исключения, кроме классов <code>Error </code> и <code>RuntimeException </code> и их наследников, являются проверяемыми.
===Error===
Класс <code>Error </code> и его подклассы предназначены для системных ошибок. Свои собственные классы-наследники для <code>Error </code> писать (за очень редкими исключениями) не нужно. Как правило, это действительно фатальные ошибки, пытаться обработать которые довольно бессмысленно (например <code>OutOfMemoryError</code>).
===RuntimeException===
Эти исключения обычно возникают в результате ошибок программирования, такие как ошибки разработчика или неверное использование интерфейса приложения. Например, в случае выхода за границы массива метод бросит <code>OutOfBoundsException</code>. Такие ошибки могут быть в любом месте программы, поэтому компилятор не требует указывать runtime исключения в объявлении метода. Теоретически приложение может поймать это исключение, но разумнее исправить ошибку.
==Обработка исключений==
234
правки

Навигация