直接看代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
let number = 10;
function Compare(num) {
try {
if (num >= 8) throw '值太大'
if (num <= 4) throw '值太小'
}
catch (err) {
console.log(err)
}
finally{
number = 6
}
}
Compare(number); //值太大
console.log(number) // 6
function Run(){
try {
console.log('a')
console.log(b)
console.log('c')
}
catch(err){
console.log(err.name + ":" + err.message)
}
}
Run() //ReferenceError:b is not defined
</script>
</body>
</html>
简单总结:
一、Throw 语句
1. 允许我们创建自定义错误。
2. 正确的技术术语是:创建或抛出异常(exception)。
3. 如果把 throw 与 try 和 catch 一起使用,那么您能够控制程序流,并生成自定义的错误消息。
其中finally部分是无论报不报错,都将执行的语句;
二、Error.name的六种值对应的信息:
1.EvalError:eval()的使用与定义不一致
2.RangeError:数值越界
3.ReferenceError:非法或不能识别的引用数值
4.SyntaxError:发生语法解析错误
5.TypeError:操作数类型错误
6.URIError:URI处理函数使用不当