Ошибки - это события. Класс исключения представляет ошибки, возникающие во время выполнения приложения (во время выполнения), и предоставляет механизм для их обработки с использованием блоков try catch.
Ошибки могут быть во время выполнения или ошибки компилятора / s.
Примеры событий ошибок:
HttpApplication.Error Событие System.Web dll, FileSystemWatcher.Error Событие System.IO
Обе библиотеки имеют одно и то же определение события ошибки
public event EventHandler Error
Из документации .Net Framework 4.5 https://msdn.microsoft.com/en-us/library/system.exception(v=vs.110).aspx
Класс исключения представляет ошибки, возникающие во время выполнения приложения.
Ошибки и исключения
Ошибки во время выполнения могут возникать по разным причинам. Однако не все ошибки должны рассматриваться как исключения в вашем коде. Вот некоторые категории ошибок, которые могут возникнуть во время выполнения, и соответствующие способы их устранения.
Ошибки использования. Ошибка использования представляет ошибку в логике программы, которая может привести к исключению. Тем не менее, ошибка должна быть устранена не путем обработки исключений, а путем изменения неисправного кода.
Программные ошибки. Программная ошибка - это ошибка времени выполнения, которую нельзя избежать, написав безошибочный код.
В некоторых случаях программная ошибка может отражать состояние ожидаемой или обычной ошибки. В этом случае вы можете не использовать обработку исключений для обработки программной ошибки, а вместо этого повторить операцию.
В других случаях программная ошибка отражает состояние непредвиденной ошибки, которое может быть обработано в вашем коде.
Системные сбои. Системный сбой - это ошибка времени выполнения, которая не может быть обработана программным способом осмысленным образом. Например, любой метод может вызвать исключение OutOfMemoryException, если общеязыковая среда выполнения не может выделить дополнительную память. Обычно сбои системы не обрабатываются с помощью обработки исключений. Вместо этого вы можете использовать событие, такое как AppDomain.UnhandledException, и вызвать метод Environment.FailFast для регистрации информации об исключении и уведомления пользователя о сбое до завершения приложения.