有哪位高手能告诉我异常处理机制指的是什么意思?

来源:百度知道 编辑:UC知道 时间:2024/06/15 02:52:33
就是异常处理机制的定义

异常处理功能提供了处理程序运行时出现的任何意外或异常情况的方法。异常处理使用 try、catch 和 finally 关键字来尝试可能未成功的操作,处理失败,以及在事后清理资源。
  异常可以由公共语言运行库 (CLR)、第三方库或使用 throw 关键字的应用程序代码生成。

  异常具有以下特点:
  1.在应用程序遇到异常情况(如被零除情况或内存不足警告)时,就会产生异常。
  2.发生异常时,控制流立即跳转到关联的异常处理程序(如果存在)。
  3.如果给定异常没有异常处理程序,则程序将停止执行,并显示一条错误信息。
  4.可能导致异常的操作通过 try 关键字来执行。
  5.异常处理程序是在异常发生时执行的代码块。在 C# 中,catch 关键字用于定义异常处理程序。
  6.程序可以使用 throw 关键字显式地引发异常。
  7.异常对象包含有关错误的详细信息,其中包括调用堆栈的状态以及有关错误的文本说明。
  8.即使引发了异常,finally 块中的代码也会执行,从而使程序可以释放资源。

  异常处理理论上有两种基本模型.
  一种称为"终止模型"(它是Java与C++所支持的模型).在这种模型中,将假设错误非常关键,将以致于程序无法返回到异常发生的地方继续执行.一旦异常被抛出,就表明错误已无法挽回,也不能回来继续执行.
  另一种称为"恢复模型".意思是异常处理程序的工作是修正错误,然后重新尝试调动出问题的方法,并认为的二次能成功.
  对于恢复模型,通常希望异常被处理之后能继续执行程序.在这种情况下,抛出异常更像是对方法的调用--可以在Java里用这种方法进行配置,以得到类似恢复的行为.(也就是说,不是抛出异常,而是调用方法修正错误.)或者,把try块放在while循环里,这样就可以不断的进入try块,直到得到满意的结果.
  虽然恢复模型开始显得很吸引人,并且人们使用的操作系统也支持恢复模型的异常处理,但程序员们最终还是转向了使用类似"终止模型"的代码.因为:处理程序必须关注异常抛出的地点,这势必要包含依