удалить шаблон с переменными номерами

Объявление throws Exception является автоматизированным способом отслеживания методов, которые могут генерировать исключение по ожидаемым, но неизбежным причинам. Обычно декларация относится к типу или типам исключений, которые могут быть выбраны, например throws IOException или throws IOException, MyException.

Мы все или в конце концов напишем код, который неожиданно останавливается и сообщает об исключении из-за чего мы не ожидали до запуска программы, например деления на ноль или индекса за пределами. Поскольку ошибки не ожидались с помощью метода, они не могли быть «пойманы» и обработаны предложением try catch. Любые ничего не подозревающие пользователи этого метода также не знают об этой возможности, и их программы также прекратятся.

Когда программист знает, что могут возникнуть определенные типы ошибок, но они хотели бы обрабатывать эти исключения вне метода, метод может «выбросить» один или несколько типов исключений из вызывающего метода вместо их обработки. Если программист не заявлял, что метод (может) генерирует исключение (или если у Java не было возможности объявить его), компилятор не мог знать, и это может быть связано с будущим пользователем метода, улавливать и обрабатывать любые исключения, которые может бросить метод. Поскольку программы могут иметь много уровней методов, написанных многими различными программами, становится трудно (невозможно) отслеживать, какие методы могут генерировать исключения.

Несмотря на то, что Java имеет возможность объявлять исключения, вы все равно можете написать новый метод с необработанными и необъявленными исключениями, а Java будет скомпилировать его, и вы сможете запустить его и надеяться на лучшее. То, что Java не позволит вам сделать, - это скомпилировать ваш новый метод, если он использует метод, объявленный как исключение (исключения) исключения, если вы не обрабатываете объявленное исключение (исключения) в своем методе или не объявляете свой метод как бросание того же исключение (исключения) или если есть несколько исключений, вы можете обрабатывать некоторые и бросать остальные.

Когда программист заявляет, что метод генерирует конкретный тип исключения, это просто автоматический способ предупредить других программистов, используя метод, чтобы исключение было возможным. Затем программист может решить обработать исключение или передать предупреждение, объявив вызывающий метод, также выдавая одно и то же исключение. Поскольку компилятор был предупрежден, исключение возможно в этом новом методе, оно может автоматически проверять, обрабатывают ли будущие вызывающие элементы нового метода исключение или объявляют его и принуждают тот или иной случай.

Приятное дело в этом типе решения заключается в том, что когда компилятор сообщает Error: Unhandled exception type java.io.IOException, он дает номер файла и строки метода, который был объявлен для исключения исключения. Затем вы можете просто просто передать доллар и объявить свой метод также «бросает IOException». Это можно сделать вплоть до основного метода, в результате чего программа остановится и сообщит об этом пользователю. Тем не менее, лучше поймать исключение и справиться с ним красиво, например, объяснить пользователю, что произошло, и как его исправить. Когда метод выполняет catch и обрабатывает исключение, ему больше не нужно объявлять исключение. Бак останавливается там, чтобы говорить.

1
задан Inian 16 January 2019 в 15:56
поделиться