一、错误处理
1. try-catch 语句
catch 会受到一个包含错误信息的对象,与其他语言不同的是,即使你不想使用这个错误信息,你也得给它起个名字,这个对象保存着错误消息 message 属性。其后边可选择性添加 finally 子句,当存在 finally 子句时,catch 成为可选子句。
try{
//可能出错的代码
}catch(error){
//错误处理代码,例如: alert(error.message)
}finally{
//无论如何都会执行的函数
}
2. 错误类型
- Error
- EvalError
- RangeError
- RefernceError
- SyntaxError
- TypeError
- URIError
3. 抛出错误
throw 操作符用于随时抛出自定义错误,抛出错误时,须给 throw 一个指定值,这个值的类型没有要求。
throw 12345
throw "hello word"
throw {name: "Javascript"}
遇到 throw 操作符, 代码立刻停止执行。当且仅当 try-catch 语句捕获到被抛出的值时,代码继续执行。
自定义错误类型:
function CustomError(message){
this.name = "CustomError";
this.message = message;
}
CustromError.prototype = new Error();
throw new CustomError("My message");
调试技术
可以通过 console 技术向控制台写入消息,这个对象有下列的方法:
error(message) 将错误消息记录到控制台
info(message) 将信息性消息记录到控制台
log(message) 将一般消息记录到控制台
-
warn(message) 将警告信息记录到控制台
function sum(num1, num2){
console.log("Entering sum(), arguments are " + num1 +", " num2);
console.log("Before calculation");
var result = num1 + num2;
console.log("After calculation");
console.log("Exiting sum()");
return result;
}