错误处理(三):区分致命错误和非致命错误
任何错误处理策略中最重要的一部分,就是确定错误是否致命,
非致命错误,可以根据下列一或多个条件来确定:
不影响用户的主要任务
只影响页面的一部分
可以恢复
重复相同操作可以消除错误
致命错误,可以通过以下一或多个条件来确定:
应用程序根本无法继续运行;
错误明显影响到了用户的主要操作
会导致其他连带错误
设计良好的代码,可以做到应用程序某一部分发生错误不会不必要地影响到另一个实际上毫不相干的部分。
for(var i=0; i<mods.length; i++){mods[i].init(); }
表面上看,这些代码没什么问题:依次对每个模块调用init()方法。问题在于,任何模块的init()方法如果出错,都会导致数组中后续都所有模块都无法进行
经过下面都修改,就可以把所有模块都错误变成非致命的:
for(var i=0; i<mods.length; i++){try{mods[i].init();}catch(ex){//在这里处理错误 } }
转载于:https://www.cnblogs.com/wzndkj/p/8689894.html
错误处理(三):区分致命错误和非致命错误相关推荐
- 解决Navicat for MySQL 1045错误的三种方法
解决Navicat for MySQL 1045错误的三种方法 Navicat连接MySQL数据库时难免会遇到1045错误,主要是因为用户输入的用户名或密码错误被拒绝访问,如果不想重装,需要找回密码或 ...
- D-Link登录时密码错误输入三次而无法登录问题的处理
登录路由器配置界面须在浏览器地址栏输入192.168.0.1,在下面的对话框中填入用户名和密码.默认状态下用户名为admin,密码为空. 但是路由器登录时密码如果填写三次均错误时,会出现如下界面: ...
- attempted an unsupported operation 、an unsupported operation was attempted [尝试不支持的操作]错误的三种解决方案
在修改MFC程序的时候突然出现了attempted an unsupported operation[尝试不支持的操作]的错误,发现是由于修改了资源ID导致,该错误是由找不到相关资源ID导致. ...
- 应用程序错误电脑黑屏_电脑运行程序出现APPCRASH错误的三种解决方法
好多小伙伴说电脑在运行程序时出现appcrash错误,导致软件无法正常运行,其实电脑是很复杂的程序代码设计的,遇到一些奇怪的问题也不奇怪,系统运行程序出现APPCRASH错误,很多新手用户都不知道怎么 ...
- 除了背后拆台,东方农嫂还犯了这三个致命错误 | 商业评论
助农体系里,有着勤勤恳恳的农民,有着政府的补贴,同样需要东方甄选这样能够带动农户的大IP,更需要一波算得清楚账的聪明经销商. 一根玉米引发的混战,引起了多方讨论. 事情的来龙去脉是这样的:东方甄选卖的 ...
- 修复补丁错误的三种方法
一. 补丁文件丢失或者被损坏 解决方法: 1. 到wsus补丁服务器 2. 在命令提示符窗口中,cd到C:\Program Files\Update Services\Tools文件夹下 3. 执行W ...
- 1045 mysql_解决Navicat for MySQL 1045错误的三种方法
Navicat连接MySQL数据库时难免会遇到1045错误,主要是因为用户输入的用户名或密码错误被拒绝访问,如果不想重装,需要找回密码或者重置密码. Navicat for MySQL 1045错误 ...
- marsony布局出现的错误 (三)
2019独角兽企业重金招聘Python工程师标准>>> 具体错误体现如下: 解决办法: 我的经验就是,在这个项目中,层级关系比较复杂,需要仔细去分别出控件的父类是谁,后来仔细分析,发 ...
- 错误三次无法输入c语言,不懂就问,为啥错误输入三次不停止呢
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /*task2在一的基础上加了三次机会*/ #include #include #include #pragma warning(disable:4996 ...
最新文章
- 【126】TensorFlow 使用皮尔逊相关系数找出和标签相关性最大的特征值
- HP CP1215打印机遇到spoolsv.exe错误。
- 【题解】 [HNOI2015]落忆枫音 (拓扑排序+dp+容斥原理)
- jQuery最佳实践
- 【ArcGIS Pro微课1000例】0011:ArcGIS Pro范围内汇总工具的巧妙使用——以甘肃省各地区内河流总长度计算为例
- 7-2 单源最短路径 (10 分)(思路+详解+邻接表做法)Come Brather!!!!!!!!!!
- java char类型空值_展望Java的未来:空值类型
- 在 Pycharm下使Python2和Python3共用Anaconda中的各种库/包的解决方法
- Android常见的内存泄漏分析
- pythongetpass_Python模块之getpass模块的使用
- [转]Phoenix综述(史上最全Phoenix中文文档)
- 中国石油大学《马克思主义基本原理》第三阶段在线作业
- 时尚行业的二维码应用!2021 全新流行趋势
- linux scl,技术|SCL项目:在Red Hat系列系统上安装同一软件的不同版本
- 坚持#第17天~回忆重装系统
- Android 字符串求值工具(科学计算)
- 好用的json在线工具
- DevOps的技术和工具有哪些?
- MySQL万字总结(含测试代码)
- Cadence allegro PCB快速自动创建差分对