Любой код Java может добавлять исключения, такие как: код, написанный вами, код из пакета среды разработки Java или система выполнения Java. Независимо от того, кто это, вы можете бросить исключение через заявление о броске Java. Любое исключение, выброшенное из метода, должно использоваться с пунктом бросков.
1. Броски бросают исключение
Если метод может иметь исключение, но не имеет возможности обрабатывать такое исключение, вы можете использовать пункт о бросках, чтобы объявить об исключении, которое принесло исключение при объявлении метода. Например, автомобиль может потерпеть неудачу при запуске, и сам автомобиль не может справиться с этим сбоем, поэтому позвольте водителю справиться с ним.
Оператор Throws используется, чтобы объявить тип исключения, когда метод определяется. Несколько исключений можно разделить с помощью запятых. Формат синтаксиса оператора бросков:
MethodName Throws Exception1, Exception2, .., ExceptionN
{
}
бросает после названия метода Exception1, Exception2,…, ExceptionN - это список исключений, которые должны быть брошены. Когда метод отбрасывает список исключений исключений, метод не будет обрабатывать исключения этих типов и их типов подкласса, но будет брошен на метод, который вызывает метод и будет обрабатываться им. Например:
Импорт java.lang.exception; (String [] args) {// Основной метод try {// ray sturning обрабатывает информацию об исключении pop (); брошенное исключение "); // Информация об исключении вывода}}}
После того, как вы бросили исключение из вызывающего абонента, используя ключевое слово Throws, если вызывающий абонент не хочет обрабатывать исключение, вы можете продолжать его бросить, но в конце концов должен быть вызывающий абонент, который может справиться с исключением.
Метод POP не обрабатывает исключение OntiveAgraySizexexception, но обрабатывается основной функцией.
Правило бросков, чтобы бросить исключения:
1) Если это неконтролируемое исключение, то есть ошибка, Runtimeexception или их подклассы, вы можете объявить исключение, которое будет выброшено без использования ключевого слова Throw время выполнения.
2) должны быть объявлены любые проверенные исключения, которые могут быть выброшены методом. То есть, если метод может иметь проверенное исключение, он будет пойман либо с оператором Try-Catch, либо объявлен с предложением о бросках, в противном случае он вызовет ошибку компиляции.
3) Только при брошении на исключение, вызывающий абонент метода должен обрабатывать или пересмотреть исключение. Когда вызывающий метод не может справиться с исключением, он должен продолжать бросать его вместо того, чтобы глотать его целиком.
4) Вызовный метод должен следовать любым проверенным правилам обработки исключений и объявления. Если метод перезаписан, исключения, которые отличаются от перезаписного метода, не могут быть объявлены. Любое объявленное исключение должно быть аналогичным или подклассом исключения, объявленного переопределенным методом.
Например:
Основа для определения того, что исключение может произойти в методе, заключается в следующем:
1) В методе есть оператор. Например, блок кода подъема приведенного выше метода Method7 () имеет оператор THR.
2) Другие методы называются, и другие методы используют пункт Throws, чтобы объявить какое -то исключение, чтобы бросить. Например, метод Method3 () вызывает метод Method1 (), а метод Method1 () заявляет, что выброшено ioException, поэтому в методе Method3 () может возникнуть ioException.
2. Используйте бросок, чтобы бросить исключение
Брось всегда появляется в корпусе функции и используется, чтобы бросить исключение из броска типа. Программа прекратится сразу после оператора Thr, оператор после ее нельзя выполнить, а затем во всех блоках Try, содержащих его (возможно, в функции вызова верхнего уровня) ищут блоки Try, содержащие пункт о ущербе, который соответствует его из наизнанку.
Мы знаем, что исключениями являются объекты Extance Exception Class, и мы можем создать объекты Encement Exception Class, которые будут выдвинуты с помощью оператора Thr. Синтаксический формат этого утверждения:
бросить новое исключение;
Например, бросьте объект исключения класса IOException:
бросить новое ioException;
Следует отметить, что бросает только объекты экземпляров, которые могут бросать класс, бросаемые или подклассы. Следующая операция неверна:
бросить новую строку ("Исключение");
Это потому, что строка не является подклассом брошенного класса.
Если исключение проверки выброшено, вы также должны объявить тип исключения, который метод может добавить в заголовке метода. Вызывающий абонент этого метода также должен проверить для обработки исключения брошенного.
Если все методы бросают полученный слой исключений по слою, JVM в конечном итоге обработает его, а обработка также очень проста, которая предназначена для печати сообщений исключений и стека. Если ошибка или Runtimeexception выбрасывается, у вызывающего вызов метода есть возможность обрабатывать исключение.
Пакет -тест; 0 бросить новое MyException («Разделение не может быть отрицательным номером»); ; int b = 0; .out.println (например, getMessage ()); Catch (кроме E) {// Обработка других исключений System.out.println («Другое исключение произошло в программе»); String Message;