2009-05-11 5 views

ответ

21

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

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

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

2

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

Смежные вопросы