关于js的报错处理
来源:互联网 发布:手机游戏端口 编辑:程序博客网 时间:2024/05/17 06:18
合理的报错,可以结束某掉函数,
还可以 处理 预计 可能出现的错误
如果错误 不处理,抛出的话会导致整个环境终止运行
贴一下underscore的一段处理
each : function(obj, iterator, context) { var index = 0; try { if (obj.forEach) { // 有forEach就用forEach,array的forEach兼容到ie9 obj.forEach(iterator, context); } else if (obj.length) { // 用length看是不是数组,是数组就模拟数据的迭代 for (var i=0; i<obj.length; i++) iterator.call(context, obj[i], i); } else if (obj.each) { // 这里是说,如果传入本身则调用本身的each方法, // 不过这方法有问题,报错 删掉这个判断也没问题 obj.each(function(value) { iterator.call(context, value, index++); }); } else { // 对对象,就模拟对象的迭代 var i = 0; for (var key in obj) { var value = obj[key], pair = [key, value]; pair.key = key; pair.value = value; iterator.call(context, pair, i++); } } } catch(e) { if (e != '__break__') throw e; } return obj; }, detect : function(obj, iterator, context) { // 类似find(反处迭代结果为真的第一个值) var result; _.each(obj, function(value, index) { if (iterator.call(context, value, index)) { result = value; throw '__break__'; // 注意这个处理方法,抛出错误,使each方法结束 // 这里注意这个throw方法,如果一旦有错误,同时程序没有 try catch 然后做相关处理 // 会导致整个环境报错终止 // 所以合理的报错捕捉可以合理的终止一段函数,而不用结束整个环境的运行 // 然后在each 方法里 做指定的错误处理,不再控制台上抛出 } }); return result; },
阅读全文
0 0
- 关于js的报错处理
- 对于js的报错处理
- 关于java.lang.outofmemoryerror的报错处理
- 关于java.lang.outofmemoryerror的报错处理
- 关于VC6和VS2008预编译的报错处理
- Widget程序的编写报错处理
- @Override 的作用及报错处理
- android 的unregisterReceiver报错处理
- android 的unregisterReceiver报错处理
- emgucv cvinvoke的报错处理
- android 的unregisterReceiver报错处理
- android 的unregisterReceiver报错处理
- Nagios.cmd的报错处理
- android 的unregisterReceiver报错处理
- ASPxGridView报错处理
- mencoder 报错处理
- tomcat报错处理
- Unity 报错处理
- unity消息系统机制,工具类可以直接使用
- 阿斯麦电面 面经(附自己的一些总结)
- HTML表单元素
- 为服务器上的图片生成二维码
- IntellJ IDEA+Spring Boot+JSP
- 关于js的报错处理
- lua写入一个不确定是否存在文件的方法
- 求树的直径
- 从CNN视角看在自然语言处理上的应用
- 国内外研究现状和发展趋势
- SQLServer 测试
- Ubuntu 16.04 :shadowsockets + chrome 代理
- vim常用命令和配置
- 延时任务队列-单机支持每秒10万延时消息高效触发(可部署多台提供更高并发)