美文网首页
try/catch 用法

try/catch 用法

作者: 琴先森的博客 | 来源:发表于2019-01-16 19:54 被阅读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

    相关文章

      网友评论

          本文标题:try/catch 用法

          本文链接:https://www.haomeiwen.com/subject/cwkvdqtx.html