本文共 511 字,大约阅读时间需要 1 分钟。
C++异常处理使用的关键字有:try、catch、throw。
C++中的异常处理机制只能处理由throw捕获的异常,没有捕获的将被忽略。使用try({}catch{}语句来捕获异常,把可能发生异常的代码放在try语句块中,后面跟若干个catch{}负责处理具体的异常类型,这样一组有try块和不少于一个的catch块就构成了一级异常捕获。如果本级没有带死党类型参数的catch块,将不能捕获异常,异常就会向上一级传递,函数调用处如果没有捕获住异常,则直接跳到更高一层的调用者,如果一直没有捕获该异常,C++会使用默认的异常处理函数,该函数可能会让程序最终跳出main()函数并导致程序异常终止。
catch的作用是捕获异常,finally不管代码是否有异常都会执行。try中如果有return,仍然需要执行finally语句。此种情况的一型过程如下:
(1)执行return返回语句(retur之后的语句内容),计算返回值,暂存在一个临时变量中。
(2)执行finally语句块//不应调用return,否则try中返回值会被遮掩,得到的是finally中的值,与程序初衷相悖
(3)return原来已经计算得到的结果值
转载地址:http://zfvti.baihongyu.com/