Разница между исключением приложения и системным исключением - PullRequest
15 голосов
/ 11 мая 2009

Я хочу знать разницу между System.ApplicationException и System.Exception .

Может кто-нибудь объяснить

Ответы [ 2 ]

22 голосов
/ 11 мая 2009

Первоначально они были предназначены для разделения определенных и определенных пользователем исключений BCL. ApplicationException должен был быть базовым классом для всех определенных пользователем исключений. Идея заключалась в том, чтобы дать вам четкий способ различения между рамочными исключениями и пользовательскими исключениями.

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

Вот хорошая запись в блоге на эту тему:

2 голосов
/ 13 октября 2010

Все исключения происходят из базового класса исключений. Исключения могут быть сгенерированы программно или может быть сгенерировано системой. Исключение приложения служит базовым классом для всего приложения конкретные классы исключений. Он происходит от исключения, но не предоставляет каких-либо расширенных функциональных возможностей. Вы должны извлечь свои пользовательские исключения из приложения Application Exception. Исключения приложения используются, когда мы хотим определить пользовательское исключение. Пока система Исключение составляют все, которые определены .NET

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