参考

这些人的脑洞可真大...

用户的执行函数

const f = () => JSON.parse();

const test = () => {

console.log("test 1");

f();

console.log("test 2");

};

使用try-catch

必须开启两个才能在异常位置停下来

const wrapProd = (fn) => {

try {

fn();

} catch (e) {

console.log("try", e);

}

};

console.log("wrap1");

wrapProd(test);

console.log("wrap2");

使用window的error事件

可以停到代码异常位置

但是代码却无法继续向下执行

const wrapDev = (fn) => {

const handler = (e) => {

console.log("handler", e);

};

window.addEventListener("error", handler);

fn();

window.removeEventListener("error", handler);

};

使用node结点派发函数的方式

可以停留也能继续执行

function wrapDev2(func) {

function handleWindowError(e) {

// 收集错误交给Error Boundary处理

console.log("handle2", e);

}

function callCallback() {

fakeNode.removeEventListener(evtType, callCallback, false);

func();

}

const event = document.createEvent("Event");

const fakeNode = document.createElement("fake");

const evtType = "fake-event";

window.addEventListener("error", handleWindowError);

fakeNode.addEventListener(evtType, callCallback, false);

event.initEvent(evtType, false, false);

fakeNode.dispatchEvent(event);

window.removeEventListener("error", handleWindowError);

}

react取消捕获_react 异常捕获相关推荐

  1. promise 中的异常捕获_Promise异常捕获

    Promise捕获异常这里有两种方式 第一种单独对 .then() 中指定异常处理函数(第一种一般用在,希望捕获异常然后不影响接下里Promise的执行) 我们只需要在 .then() 中添加两个fu ...

  2. day015异常捕获和正则

    1,异常捕获 什么是异常:程序运行的时候报错了,就是我们程序出现了异常,程序会在异常的地方直接结束,不会往后继续执行. list1 = [10, 20, 30] print(list1[3]) # I ...

  3. ssm 异常捕获 统一处理_SpringMVC 统一异常处理介绍及实战

    背景 什么是统一异常处理 目标 统一异常处理实战 用 Assert(断言) 替换 throw exception 定义统一异常处理器类 扩展 总结 <Java 2019 超神之路> < ...

  4. WCF客户端不能用在Using语句块中,因为它可能会抛出不可预知的异常。即使你捕获了异常,仍有可能一直保持连接。...

    WCF客户端不能用在Using语句块中,因为它可能会抛出不可预知的异常.即使你捕获了异常,仍有可能一直保持连接.让我们来看看形成这一问题的历史原因,并提出几个补救措施. 在.NET中,资源管理的基础就 ...

  5. Spring Boot配置全局异常捕获

    1 SpringBoot配置全局的异常捕获 项目的说明 配置thymeleaf作为视图模板 ExceptionController.java模拟测试用 MyAjaxExceptionHandler.j ...

  6. 简单介绍Go语言错误处理异常捕获+异常抛出

    这篇文章主要介绍了Go语言错误处理异常捕获和异常抛出,Go语言的作者认为java等语言的错误处理底层实现较为复杂,就实现了函数可以返回错误类型以及简单的异常捕获,虽然简单但是也非常精妙,大大的提高了运 ...

  7. winform程序捕获全局异常,对错误信息写入日志并弹窗

    使用场景:在winform程序中如果没对方法进行try catch操作,若方法内出错,则整个程序报错并退出,如下图 如果程序已在客户手中,若没对错误的详细信息进行拍照,我们则不知道错误原因是什么.我们 ...

  8. 用c实现跨平台异常捕获机制

    为什么80%的码农都做不了架构师?>>>    TBOX封装了一套跨平台的异常捕获实现,来模拟windows的seh异常处理功能,而且是线程安全的. 在linux/mac下的实现 使 ...

  9. java try catch嵌套_解析Java中未被捕获的异常以及try语句的嵌套使用

    Java未被捕获的异常 在你学习在程序中处理异常之前,看一看如果你不处理它们会有什么情况发生是很有好处的.下面的小程序包括一个故意导致被零除错误的表达式. class Exc0 { public st ...

最新文章

  1. Mysql大表的优化
  2. C++ Primer 5th笔记(chap 16 模板和泛型编程)类模板部分特例化
  3. 微信运动:抓住用户的小九九,一个都别跑
  4. 五、Elasticsearch中的API的简单使用(Python版本)
  5. 微信小程序android错误,app安卓端 跳转到微信小程序失败
  6. python中的列表排序
  7. C语言学习系列(六)基本语法
  8. A*寻路算法的探寻与改良(一)
  9. Web项目实战(购物商城项目简单的实现)
  10. 从程序设计方法学的角度比较 SP 方法与OOP 方法
  11. 如何设计一个秒杀系统(完整版)
  12. uniapp h5微信授权登录
  13. 数字电子技术-逻辑门电路
  14. 07-----给音视频文件添加字幕流
  15. 高质量作品集封面合集(含封面素材、字体包和作品集封面原始文档)
  16. jspdf添加宋体_pdfjs 引入字体失败
  17. Jmeter运行后,查看结果树中的响应数据出现中文乱码。
  18. 平面几何-python
  19. 在 Ubuntu Lucid 下请回 Sun Java6 Jre, 赶走 OpenJDK(转)
  20. 商务邮箱e-mail地址格式是什么意思?解读mail使用场景及功能

热门文章

  1. tfrcw函数用法_open函数
  2. bean找不到报空指针_为什么C指针可以实现函数间的通信呢?
  3. 虚拟计算机组成,计算机组成原理虚拟仿真实验平台研究
  4. mysql设置自动递增_《MySQL数据库》约束条件和自增长序列
  5. osg中三维模型的位置变换
  6. Android ble covana,I’m A Lie
  7. Java关键字(53个关键字)
  8. Renascence架构原理——最优化算法
  9. HttpURLConnection和HttpClient的简单用法
  10. iphone NSNotificationCenter