Разница между исключением приложения и системным исключением

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

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

2 ответа

Решение

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

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

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

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

Другие вопросы по тегам