try/catch 用法

2019-01-16  本文已影响0人  琴先森的博客

try语句允许我们定义在执行时进行错误测试的代码块。

catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块。

finally 语句在 try 和 catch 之后无论有无异常都会执行。

1、try/catch用法基础介绍

try

{

//程序中抛出异常

throw value;

}

catch(valuetype v)

{

//例外处理程序段

}

语法小结:throw抛出值,catch接受,当然,throw必须在“try语句块”中才有效。

2.error类型

Error

EvalError(eval错误)

RangeError(范围错误)

ReferenceError(引用错误)

SyntaxError(语法错误)

TypeError(类型错误)

URIError(URI错误)

Error是基类型,其他错误类型都继承自该类型。因此,所有错误类型共享了一组相同的属性。Error类型的错误很少见,如果有也是浏览器抛出的;这个基类型的主要目的是供开发人员抛出自定义错误

3、深入throw:

程序接受到throw语句后就会自动调用析构器,把该域(try后的括号内)对象clean up,然后再进入catch语句(如果在循环体中就退出循环)。

这种机制会引起一些致命的错误,比如,当“类”有指针成员变量时(又是指针!),在 “类的构建器”中的throw语句引起的退出,会导致这个指针所指向的对象没有被析构。这里很基础,就不深入了,提示一下,把指针改为类就行了,比如模板类来代替指针,在模板类的内部设置一个析构函数。

注意:try/catch不能做真假判断,只能做非法判断。也就是说:try{1===2},虽然1===2是假,但是是合的,catch不会捕捉到错误,也不会告诉你1===2到底是真是假。

参考链接:http://www.cnblogs.com/freshmen/p/4424667.html

上一篇 下一篇

猜你喜欢

热点阅读