【JS/读书随笔】JavaScript编程精解/Eloquent JavaScript:Chapter 4 错误处理

一、 问题类型

编写程序是,遇到问题情境大致可以分成:程序员错误和运行时错误。如果程序员忘记给函数传入一个必须的参数,就是程序员错误;如果程序要求用户输入名字但返回的确实空字符串,这就是程序员无法控制的错误,即运行时错误。

二、 处理错误

异常处理:当函数由于某种原因不能正常返回时,要立即停止现在的操作,然后跳转到能够处理问题的位置。这就是异常处理。
异常处理工作原理:代码可以引发(抛出)异常,该异常是一个值。引发异常类似函数的超负荷返回值——不仅跳出当前函数,还会离开该函数的调用者,直到当前执行的最顶部,称为展开堆栈。
我们接下来沿着栈为异常设置障碍,抓住放大的异常并且进行相应处理,程序便可以在异常抛出点继续运行。
示例:

function lastElement(array){
    if(array.length > 0)
        return array[array.length - 1];
    else
        throw "Cannot take the last element of an empty array.";
        // throw 是引发异常的关键字

function lastElementPlusTen(array){
    return lastElement(array) + 10;
}

try{
    print(lastElementPlusTen([]));
catch(error){
    print("Something went wrong: ", error);
}
//关键字 try 用于设立异常障碍:如果代码块里的代码引发异常, catch 代码块将会执行,在执行的时候, catch 后面的变量将拥有该异常值。

你可能感兴趣的:(读书)