Разница между java.lang.RuntimeException и java.lang.Exception - PullRequest
180 голосов
/ 03 февраля 2010

Кто-нибудь, пожалуйста, объясните разницу между java.lang.RuntimeException и java.lang.Exception? Как мне решить, какой из них расширить, если я создам собственное исключение?

Ответы [ 12 ]

0 голосов
/ 13 апреля 2017

Существует два типа исключений. Вы можете восстановиться после проверенного исключения, если получите такое исключение.Исключения во время выполнения безвозвратны, исключения во время выполнения - это ошибки программирования, и программист должен позаботиться об этом при написании кода, и дальнейшее выполнение этого может привести к неверному результату.Исключения во время выполнения касаются нарушения предварительных условий ex.у вас есть массив размером 10, и вы пытаетесь получить доступ к 11-му элементу, он выбросит ArrayIndexOutOfBoundException

0 голосов
/ 16 июля 2014

Исключения являются хорошим способом обработки непредвиденных событий в потоке приложения. RuntimeException не проверяется компилятором, но вы можете предпочесть использовать исключения, расширяющие класс исключений, для управления поведением ваших API-клиентов, поскольку они необходимы для отлова ошибок для их компиляции. Также формирует хорошую документацию.

Если вы хотите добиться чистого интерфейса, используйте наследование для подкласса различных типов исключений, которые есть в вашем приложении, а затем предоставьте родительское исключение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...