react取消捕获_react 异常捕获
参考
这些人的脑洞可真大...
用户的执行函数
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 异常捕获相关推荐
- promise 中的异常捕获_Promise异常捕获
Promise捕获异常这里有两种方式 第一种单独对 .then() 中指定异常处理函数(第一种一般用在,希望捕获异常然后不影响接下里Promise的执行) 我们只需要在 .then() 中添加两个fu ...
- day015异常捕获和正则
1,异常捕获 什么是异常:程序运行的时候报错了,就是我们程序出现了异常,程序会在异常的地方直接结束,不会往后继续执行. list1 = [10, 20, 30] print(list1[3]) # I ...
- ssm 异常捕获 统一处理_SpringMVC 统一异常处理介绍及实战
背景 什么是统一异常处理 目标 统一异常处理实战 用 Assert(断言) 替换 throw exception 定义统一异常处理器类 扩展 总结 <Java 2019 超神之路> < ...
- WCF客户端不能用在Using语句块中,因为它可能会抛出不可预知的异常。即使你捕获了异常,仍有可能一直保持连接。...
WCF客户端不能用在Using语句块中,因为它可能会抛出不可预知的异常.即使你捕获了异常,仍有可能一直保持连接.让我们来看看形成这一问题的历史原因,并提出几个补救措施. 在.NET中,资源管理的基础就 ...
- Spring Boot配置全局异常捕获
1 SpringBoot配置全局的异常捕获 项目的说明 配置thymeleaf作为视图模板 ExceptionController.java模拟测试用 MyAjaxExceptionHandler.j ...
- 简单介绍Go语言错误处理异常捕获+异常抛出
这篇文章主要介绍了Go语言错误处理异常捕获和异常抛出,Go语言的作者认为java等语言的错误处理底层实现较为复杂,就实现了函数可以返回错误类型以及简单的异常捕获,虽然简单但是也非常精妙,大大的提高了运 ...
- winform程序捕获全局异常,对错误信息写入日志并弹窗
使用场景:在winform程序中如果没对方法进行try catch操作,若方法内出错,则整个程序报错并退出,如下图 如果程序已在客户手中,若没对错误的详细信息进行拍照,我们则不知道错误原因是什么.我们 ...
- 用c实现跨平台异常捕获机制
为什么80%的码农都做不了架构师?>>> TBOX封装了一套跨平台的异常捕获实现,来模拟windows的seh异常处理功能,而且是线程安全的. 在linux/mac下的实现 使 ...
- java try catch嵌套_解析Java中未被捕获的异常以及try语句的嵌套使用
Java未被捕获的异常 在你学习在程序中处理异常之前,看一看如果你不处理它们会有什么情况发生是很有好处的.下面的小程序包括一个故意导致被零除错误的表达式. class Exc0 { public st ...
最新文章
- Mysql大表的优化
- C++ Primer 5th笔记(chap 16 模板和泛型编程)类模板部分特例化
- 微信运动:抓住用户的小九九,一个都别跑
- 五、Elasticsearch中的API的简单使用(Python版本)
- 微信小程序android错误,app安卓端 跳转到微信小程序失败
- python中的列表排序
- C语言学习系列(六)基本语法
- A*寻路算法的探寻与改良(一)
- Web项目实战(购物商城项目简单的实现)
- 从程序设计方法学的角度比较 SP 方法与OOP 方法
- 如何设计一个秒杀系统(完整版)
- uniapp h5微信授权登录
- 数字电子技术-逻辑门电路
- 07-----给音视频文件添加字幕流
- 高质量作品集封面合集(含封面素材、字体包和作品集封面原始文档)
- jspdf添加宋体_pdfjs 引入字体失败
- Jmeter运行后,查看结果树中的响应数据出现中文乱码。
- 平面几何-python
- 在 Ubuntu Lucid 下请回 Sun Java6 Jre, 赶走 OpenJDK(转)
- 商务邮箱e-mail地址格式是什么意思?解读mail使用场景及功能