jq错误传播2-13

简介: jq错误传播2-13

如果代码发生了错误,又没有被try ... catch捕获,那么,程序执行流程会跳转到哪呢?

function getLength(s) {
    return s.length;
}
function printLength() {
    console.log(getLength('abc')); // 3
    console.log(getLength(null)); // Error!
}
printLength();


如果在一个函数内部发生了错误,它自身没有捕获,错误就会被抛到外层调用函数,如果外层函数也没有捕获,该错误会一直沿着函数调用链向上抛出,直到被JavaScript引擎捕获,代码终止执行。

所以,我们不必在每一个函数内部捕获错误,只需要在合适的地方来个统一捕获,一网打尽:

'use strict';


// 直接运行,观察控制台输出


Run

当bar()函数传入参数null时,代码会报错,错误会向上抛给调用方foo()函数,foo()函数没有try ... catch语句,所以错误继续向上抛给调用方main()函数,main()函数有try ... catch语句,所以错误最终在main()函数被处理了。


相关文章
|
7月前
GEE错误——XXX is not a function,如何解决这个问题?
GEE错误——XXX is not a function,如何解决这个问题?
499 0
|
3月前
|
JavaScript 前端开发
jq事件2-8
jq事件2-8
|
5月前
|
缓存 网络协议 Serverless
函数计算操作报错合集之遇到AxiosError: Network Error错误,该如何排查
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
180 1
|
7月前
|
前端开发 JavaScript
【面试题】如何取消 script 标签发出的请求
【面试题】如何取消 script 标签发出的请求
|
网络协议
利用命令简单检查网络
利用命令简单检查网络
290 0
利用命令简单检查网络
express学习3-捕获错误
express学习3-捕获错误
115 0
express学习3-捕获错误
GoogleGuava - 第 1 章 基本工具——Throwables:简化异常和错误的传播与检查
GoogleGuava - 第 1 章 基本工具——Throwables:简化异常和错误的传播与检查
158 0
GoogleGuava - 第 1 章 基本工具——Throwables:简化异常和错误的传播与检查
|
监控 JavaScript 前端开发
一篇文章教你如何捕获前端错误
前端页面的监控是各个web项目必备的工具,本文将重点关注其中的错误部分,主要介绍一下常见的错误类型以及如何对它们进行捕获并上报。
2096 0