发展历程 什么是捕获块? -技术百科的定义

什么是捕获块? -技术百科的定义

目录:

Anonim

定义-捕获块是什么意思?

C#中的catch块是在引发异常时执行的可选代码块。


捕获块是特殊处理结构的特定部分,并结合使用关键字“ try”和“ finally”将“ catch”关键字实现,并构成了实现结构化异常处理的手段。 try块包括可能导致异常的受保护代码。 它包含处理特殊情况的声明,并努力从这种意外情况中恢复过来。


捕获块构成了处理异常的手段。 如果不处理这些问题,则可能导致.NET运行时终止整个程序。 catch块可用于处理任何或特定的异常。

技术百科解释了捕获块

公共语言运行时(CLR)的异常处理模型允许多个catch块,每个catch块旨在处理特定的异常。 每当发生异常时,CLR都会查找处理该异常的catch块。 如果当前执行的方法不包含此类块,则CLR在调用堆栈中调用当前方法的方法中搜索该块。 如果在整个代码中都没有找到该异常的匹配子句,则线程的执行将停止,并向用户显示未处理的异常消息。


以下是与catch块的使用相关的一些技巧:

  • 仅在确定发生特定的无法预防的异常(例如灾难性系统故障,API滥用等)的原因并已实现恢复而不会导致应用程序出现不一致或异常的情况下,才必须将异常类型指定给catch块无效状态。
  • catch块应放置在适当的位置,以便必须在较不具体的异常之前捕获较具体的异常。
  • 没有参数的捕获块称为“进食异常”,因为这可以抑制难以调试的严重问题。
  • 捕获块可以集中化,以便可以从中央位置处理异常。
  • 可以在catch块中使用“ throw”语句,对于throw传递的相同异常对象可以在重新抛出时再次传递。
  • 在try块中声明的变量不能在它外部使用。
  • 在执行catch块之后,代码将不会恢复回到try块。
  • 在catch块中测试异常处理程序代码对于避免破坏应用程序至关重要。
  • 捕获块不应用于清除代码。
  • 没有参数的Catch块不能用于处理非公共语言系统兼容的异常(不是从System.Exception派生的)。
该定义是在C#上下文中编写的
什么是捕获块? -技术百科的定义