В Java все исключения имеют общего предка, бросаемого (бросаемого). Throwable указывает общность любых проблем, которые могут быть переданы с помощью Java -приложений в коде с помощью механизмов распространения исключений.
Throwable имеет два важных подкласса: исключение и ошибка. Оба являются важными подклассами для обработки исключений Java, и каждый содержит большое количество подклассов.
①. Исполнение является возможной предсказуемой и восстанавливаемой проблемой в приложении. Как правило, большинство нарушений указывают на проблемы с умеренными или мягкими. Исключения обычно генерируются в конкретных средах и обычно встречаются в конкретных методах и операциях кода. В классе Echoinput IOException может возникнуть при попытке вызвать метод чтения.
Класс исключений имеет важный подкласс, Runtimeexception. Класс runtimeexception и его подклассы представляют ошибку, вызванную «общими операциями JVM». Например, если вы пытаетесь использовать ссылку на нулевое объект, нулевой делитель или массив из границ, исключение времени выполнения (NullPointerException, Arithmeticexception) и ArrayIndexoutOfBoundException, соответственно.
② .error указывает на серьезную проблему при запуске приложения. Большинство ошибок не связаны с действиями, выполняемыми автором кода, но представляют проблемы с JVM (виртуальная машина Java) при запуске кода. Например, когда JVM больше не имеет ресурсов памяти, необходимых для продолжения операции, появится OutofmemoryError.
Разделение между проверкой исключений и не проверкой исключений
Исключения на Java делятся на две категории:
1. Завершенное исключение (исключение без удаления)
2. Загородное исключение (исключение времени выполнения)
Исключение времени выполнения
Класс Runtimeexception является подклассом класса исключений. Это называется исключением времени выполнения. Все исключения времени выполнения в Java будут прямо или косвенно унаследованы из класса Runtimeexception.
Любые исключения в Java, которые наследуют от исключения, но не от Runtimeexception, являются исключениями без приема.
Попытка может последовать несколько уловов, но независимо от того, сколько, не более одного блока улова.
Что касается исключений, они должны быть обработаны, в противном случае они не могут быть составлены.
Есть два способа справиться с этим:
1. Используйте Try..catch..finally для захвата;
2. Напишите тип исключения бросков после объявления метода, который генерирует исключение, например, бросает исключение, добавьте исключение из внешнего уровня.
Что касается исключений во время выполнения, они могут быть обработаны или нет. Рекомендуется не обрабатывать исключения времени выполнения.
Расширение: разница между ошибкой и исключением (ошибка против исключения)
1) .java.lang.error: подкласс броска, используемый для обозначения критических ошибок. Разумное приложение не должно перейти к ошибкам пытаться/поймать. Большинство ошибок являются ненормальными и не должны происходить вообще.
java.lang.exception: подкласс бросков, используемый для обозначения разумной программы, чтобы поймать. То есть, это просто условие работы программы, а не серьезная ошибка, и пользовательские программы рекомендуется поймать его.
2). Ошибка и Runtimeexception и их подклассы являются неконтролируемыми исключениями, в то время как все другие классы исключений проверяются исключения.
Проверенные исключения: обычно отбрасывается из восстанавливаемой программы и лучше всего может выздороветь от таких исключений, используя программу. Например, FilenotFoundException, ParseException и т. Д. Проверенное исключение происходит на стадии компиляции, и вы должны использовать Try ... Catch (или броски) или компиляция не будет передана.
Неконтролируемые исключения: обычно исключение, которое не должно было происходить, если все нормально, но это происходит. Это происходит во время выполнения и имеет неопределенность, в основном вызванной логическими проблемами в программе. Например, ArrayIndexoutOfBoundException, ClassCastException и т. Д. С точки зрения самого языка программы не должны использовать такие исключения, как улов. Хотя они могут поймать и восстанавливаться от исключений, таких как Runtimeexception, терминальные программисты не рекомендуются делать это, потому что нет необходимости делать это. Поскольку этот тип ошибки является самой ошибкой и должна быть исправлена, программа должна быть остановлена немедленно, когда возникают такие ошибки. Следовательно, перед лицом ошибок и неконтролируемых исключений, программа должна быть автоматически прекращена. Программисты не должны делать такие вещи, как Try/Catch, но должны выяснить причину и изменить логику кода.
Runtimeexception: Система Runtimeexception включает в себя неверное преобразование типа, массив вне борьбы с доступом, попытки получить доступ к нулевым указателям и т. Д.
Принцип обработки Runtimeexception состоит в том, чтобы: если происходит runtimeexception, это должна быть ошибка программиста. Например, массивы исключений доступа к доступу можно избежать путем проверки абонентов массива и границ массива. Другие (ioException и т. Д.) Проверенные исключения, как правило, являются внешними ошибками, такими как попытка считывать данные с конца файла и т. Д. Это не ошибка самой программы, а внешняя ошибка, возникающая в среде приложения.
Приведенная выше статья Java_exception Class (введение в разницу между ошибками и исключениями) - это все контент, которым я делюсь с вами. Я надеюсь, что вы можете дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.