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

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

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

Ответы

Ответ 1

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

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

Здесь хорошая запись в блоге по теме:

Ответ 2

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