企业网站报价单,南京装修公司十大排名榜,网站域名有什么用,凡科做的网站能被收录吗Atitit.异常处理 嵌套 冗长的解决方案 1. 异常处理的需要改进的地方1 2. 异常设计的初衷是, 在程序中出现错误时, 由程序自己处理错误, 尽量不要以exit(0)这种粗暴的方式中止程序. 1 3. 正常流程和异常流程的分离。2 4. “是药三分毒”#xff0c; 任何事物有缺点#xff0c… Atitit.异常处理 嵌套 冗长的解决方案 1. 异常处理的需要改进的地方1 2. 异常设计的初衷是, 在程序中出现错误时, 由程序自己处理错误, 尽量不要以exit(0)这种粗暴的方式中止程序. 1 3. 正常流程和异常流程的分离。2 4. “是药三分毒” 任何事物有缺点异常也是2 5. 共存取长补短协同使用2 6. Solu:事件化处理3 7. ref3 1. 异常处理的需要改进的地方 为了表述方便下面将主调函数称为“父函数”被调函数称为“子函数”以“祖”、“父”、“子”、“孙”等来形容函数之间的调用关系。 一个父函数为什么要调用子函数因为它知道子函数可以实现某种功能但父函数根本就不关心子函数是如何实现的子函数只需向父函数报告结果成功与否。谁知这子函数又调用了孙函数而这孙函数抛出了一个异常。 那么这个异常该由谁来处理呢难道要它的祖函数来处理吗根本不可能。祖函数根本就不知道孙函数是个什么东西甚至根本不知道有这么一个孙函数的存在你让它如何去处理这个异常 一个父函数既然调用了子函数就应该对这个子函数的行为负全部责任绝不能把子函数造成的结果交给祖函数处理。所以处理这个异常的只能是该函数的直接调用者绝不可越级。 异常处理机制的引入完全破坏了这个原则。于是一个父函数它不但必须了解子函数的行为还必须了解孙函数、曾孙函数、玄孙函数的种种行为。简直就是不可能的。 2. 异常设计的初衷是, 在程序中出现错误时, 由程序自己处理错误, 尽量不要以exit(0)这种粗暴的方式中止程序. 作者:: ★(attilax) 绰号:老哇的爪子 全名Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 汉字名艾龙 EMAIL:1466519819qq.com 转载请注明来源 http://blog.csdn.net/attilax 3. 正常流程和异常流程的分离。 另外(萧筱雨)同志说C()抛出的异常应该在B()中处理即使不好处理也要转化成B()的异常抛出。 既然如此那请问这种处理方法与用返回值逐层返回相比有什么优点 优点我已经说了那就是正常流程和异常流程的分离。 4. “是药三分毒” 任何事物有缺点异常也是 药可治病也可致病说的就是事物矛盾的两重性 。因为药有毒而否认药的价值从而不用它这达不到治病的目的。矛盾的两重性还告诉我们对事物进行完全肯定或者否定通常是不正确的因为还存在着一个科学运用的问题 事物的存在都有其存在的道理任何事物都是矛盾的统一体C中的异常处理也不例外。 由于人们的立场或者视野不同对于同一事物的看法往往不会是完全相同的有时甚至会完全相反。由此就会产生争论 5. 共存取长补短协同使用 “是药三分毒”药可治病也可致病说的就是事物矛盾的两重性。因为药有毒而否认药的价值从而不用它这达不到治病的目的。矛盾的两重性还告诉我们对事物进行完全肯定或者否定通常是不正确的因为还存在着一个科学运用的问题 其实C中的异常处理只是另一种形式的错误处理方式和传统的错误处理方式并不排斥他们是一种“共存”的关系。只是因为在某些方面或者某些时候使用异常处理方式比传统的错误处理方式更具优越性所以异常处理才有了使用的必要它的存在也才是合理的。 才不会因噎而废食因为异常处理存在着使用的局限性就否认其价值才能知道什么情况下使用异常处理比较合适什么情况下使用异常处理方式和传统错误方式都可以而什么情况下最好不要使用异常处理等等。 最后的建议就是明智地使用异常处理。 6. 冗长cde orm.callbackFunfunction(data) { try{ processJavaEx_V2q315(data); }catch(e) { if(catchEx(e,com.attilax.user.NotLoginEx)) { logx(not login); //window.location; return; // } } var jsonstr2json(data); var objjson[0]; var fmnew AForm() fm.bind(obj); }; 7. Solu:事件化处理 8. ref 改进异常处理的6条建议 - Dancen的专栏 - 博客频道 - CSDN.NET.html