try catch finally;错误类型;error事件
书摘&心得
- finally中的代码无论如何都会执行。
- 错误类型
- Error:基类,所有错误。
- EvalError:如果没有把 eval()当成函数调用,就会抛出错误。
- RangeError:在数值超出相应范围时触发
- ReferenceError:找不到对象的情况
- SyntaxErro:语法错误
- 把语法错误的 JavaScript 字符串传入 eval()函数时
- 不太可能使用 SyntaxError,因为此时的语法错误会导致 JavaScript 代码立即停止执行
- TypeError:变量的类型并不符合要求
抛错
throw new SyntaxError("I don’t like your syntax.");
throw new TypeError("What type of variable do you take me for?");
throw new RangeError("Sorry, you just don’t have the range.");
throw new EvalError("That doesn’t evaluate.");
throw new URIError("Uri, is that you?");
throw new ReferenceError("You didn’t cite your references properly.");
只要发生错误,无论是不是浏览器生成的,都会触发 error 事件
window.onerror = function(message, url, line){
alert(message);
return false;
};
- 图片也支持error事件