В Java есть ли способ получить (поймать) все, exceptions
а не поймать исключение по отдельности?
java
exception
file
exception-handling
Johanna
источник
источник
Ответы:
Если хотите, вы можете добавить в свои методы предложения throws. Тогда не обязательно сразу ловить проверенные методы. Таким образом, вы сможете поймать более
exceptions
позднее время (возможно, одновременно с другимexceptions
).Код выглядит так:
Позже вы сможете справиться с ними,
exceptions
если не хотите иметь дело с ними этим методом.Чтобы перехватить все исключения, какой-то блок кода может выдать, вы можете сделать: (Это также поймает, что
Exceptions
вы написали сами)Причина, по которой это работает, заключается в том, что
Exception
это базовый класс для всех исключений. Таким образом, любое исключение, которое может быть сгенерировано, обозначаетсяException
буквой E в верхнем регистре.Если вы хотите сначала обработать свои собственные исключения, просто добавьте
catch
блок перед общим Exception.источник
Хотя я согласен с тем, что перехватывать необработанное исключение - не лучший стиль, существуют способы обработки исключений, которые обеспечивают превосходное ведение журнала и возможность обрабатывать неожиданные ситуации. Поскольку вы находитесь в исключительном состоянии, вы, вероятно, больше заинтересованы в получении хорошей информации, чем во времени ответа, поэтому производительность instanceof не должна иметь большого успеха.
Однако при этом не учитывается тот факт, что ввод-вывод также может вызывать ошибки. Ошибки - не исключения. Ошибки относятся к другой иерархии наследования, чем исключения, хотя оба имеют общий базовый класс Throwable. Поскольку ввод-вывод может генерировать ошибки, вы можете пойти еще дальше и поймать Throwable
источник
Поймать базовое исключение Exception
источник
Поймать исключение - плохая практика - оно слишком широко, и вы можете пропустить что-то вроде исключения NullPointerException в собственном коде.
Для большинства файловых операций исключение IOException является корневым исключением. Лучше поймать это вместо этого.
источник
Да, есть.
источник
Вы можете поймать несколько исключений в одном блоке catch.
источник
Вы имеете в виду перехватить выброс
Exception
любого типа , а не только определенные исключения?Если так:
источник