1、抛出异常 throw
1.throw抛出异常信息,程序也会终止执行
2.throw后面跟的是错误提示信息
3.Error对象配合 throw使用,能够设置更详细的错误信息
示例
function fn(x, y) {if (!x || !y) {throw new Error('没有参数传进来') }return x + y
}
fn()
打印结果
2、try/catch 捕获错误信息
我们可以通过try / catch 捕获错误信息(浏览器提供的错误信息)
try:试试 catch:拦住 finally:最后
示例1
<body><p>这里是文字</p>
</body>
<script>function fn() {try {// 可能发生错误的代码,写到 try 里面const p = document.querySelector('.p')p.style.color = 'red'} catch (err) {// 拦截错误,提示浏览器提供的错误信息,return 停止执行console.log(err.message)return}console.log(111) }fn()
</script>
打印结果
示例2:配合throw new Error使用,不用加return
function fn() {try {// 可能发生错误的代码,写到 try 里面const p = document.querySelector('.p')p.style.color = 'red'} catch (err) {// 拦截错误,提示浏览器提供的错误信息console.log(err.message)throw new Error('代码错误')}console.log(111)
}
fn()
打印结果
示例3:完整用法
function fn() {try {// 可能发生错误的代码,写到 try 里面const p = document.querySelector('.p')p.style.color = 'red'} catch (err) {// 拦截错误,提示浏览器提供的错误信息console.log(err.message)throw new Error('代码错误')}finally {// 不管程序对不对,一定会执行的代码alert('弹出对话框')}console.log(111)
}
fn()
打印结果
3、debugger
直接在代码中加上
调试界面,按F8停止调试