📜  C#中系统级别异常和应用程序级别异常之间的区别

📅  最后修改于: 2021-05-29 18:31:53             🧑  作者: Mango

异常是不需要的或意外的事件,它在程序执行期间(即,在运行时)发生,它破坏了程序指令的正常流程。有时,在程序执行期间,用户可能会面临程序可能在运行时执行过程中崩溃或显示意外事件的可能性。这种不需要的事件称为Exception,通常会给出有关代码内某些错误的指示。在C#中,异常可以是系统应用程序级异常。

系统级异常:

  • 系统异常是从基类System.SystemException派生的,该基类本身是SystemException的派生类。
  • 当遇到致命或不可恢复的错误(例如数据库崩溃,绑定错误等)时,将发生系统异常。

应用程序级别例外:

  • 应用程序级异常是从基类System.ApplicationException派生的,该基类也是SystemException的派生类。
  • 当遇到可恢复的错误(例如,输入数据的类型错误,算术异常等)时,将发生应用程序级异常。
  • 这些是应用程序引发的用户定义的异常,大多数情况下,程序可以在解决此类型异常后恢复其正常的指令过程。
  • 在任何典型的应用程序中,通常使用try-catch块在代码级别处理异常。如果代码没有针对所发生异常的try and catch块,则它将传播到页面级别,在页面级别,可以使用Page_Error例程来处理异常。如果错误仍未在页面级别处理,则错误最终会传播到应用程序级别。
  • 在应用程序级别,我们使用global.aspx文件覆盖Application_Error