【51CTO.com快译】 "我在测试中没有发明任何bug,这就意味着没有bug……对吗?"切切不要如许认为。因为大年夜型软件的复杂程度很高,不管你做了若干测试,都弗成能达到零bug的程度。因为你并不克不及忖度出用户的所有应用方法,是以,懂得应用法度榜样中缺点和异常之间的差别,是异常重要的。为此,你要选择精确的方法来处理这些缺点和异常,以积极的立场来确保应用的┞俘常运行,对你的开辟团队和最终用户负责。
测试的本身亦是个问题
写些代率攀来保存异常和堆叠追踪,把它们存在文件里或者经由过程电子邮件发送,可以提示你这些缺点的产生,这是一种可行的办法。举例来说,一个用户在运行中碰到很多异常,一百个用户可能碰到一些不太频繁出现的缺点,哪一个比较重要呢?在不知道具体缺点情况的前提下,影响更多用户的缺点更为重要。
即便你的测试是最彻底的,你依然只是在测试特定的情况,并且本身的偏好也在测试过程中发挥着感化,使得测试本身的客不雅性有掉偏颇。
想象一下,数以千记的用户同时应用你的应用法度榜样,同时也是以数以千计的方法来进行操作,这傍边必定会遇碘晾骰有测试过的状况。

若何精确处理应用法度榜样中的缺点
简单的说,bug会导致缺点和异常,这些缺点和异常在不合的前提下有不合的意义,这要看你更看中哪一方面的问题。最重要的问题当然是若何更好的处理这些缺点和异常,如许才不会带来消极的后不雅。
起首,让我们来看一些定义,以及为什么这些差别很重要。
缺点和例外有什么差别?
一些编程说话对缺点和异常有本身的定义,但我想定义这种差别。
再说异常。当异常产生时,要推敲到不合编程说话的特点。异常可以被忽视或者捕获,所以代码可以恢复和处理这些情况,而不会令应用法度榜样进入"缺点"的状况。因为异常可以被忽视,所以应用法度榜样在这种时刻依然可以保持运行,未处理异常(这是缺点的)也可以登录,所以,是否处理这些潜在异常就要看开辟者了。来看看一些事例。
事例1:一个用户缺点
当用户输入了缺点的数据,可能临时不须要太去处理,但这仍然可能导致法度榜样出现缺点和弗成恢复的状况。毫无疑问,这时代码应当进内行单的检查来阻拦缺点状况的产生,你应当进行前端和后端的验证,抛出一个异常作为"最后的防御"。
事例2:文件打不开/下载异常
这是一种间谍作况,不至于破坏你的┞符个应用法度榜样。你的应用法度榜样应当可以或许处理这个问题。造成下载掉败的原因很多,所以在法度榜样设定的过程中,要做充分的预感和预备。Ok,以上就是我定义的缺点与异常的差别了,这是易于遵守的过程,赞助你更好的处理缺点。

推荐阅读
然后拿到对应的类信息TypeElement,继而生成ProxyInfo对象,这里经由过程一个mProxyMap进行检查,key为qualifiedName即类的全路径,如不雅没有生成才会去生成一个新的,ProxyInfo邮攀类是>>>详细阅读 地址:http://www.17bianji.com/lsqh/35454.html 1/2 1
看重每一个异常
"如不雅我捕获了每个异常,我的代码就是零缺点了,对吗?"
就像我在前文中提到的,不是所有的缺点都邑导致异常。这个结论的重要问题是,你不知道什么是错的。你的代码可能有一些问题,经由过程捕获异常而不做任何工作,您将损掉这些信息。不要只是查找异常,然后就一切如常。查找异常的目标是处理它们,并创造更合适运行的情况。
若何对应用法度榜样进行代码自行恢复
抛出和捕获异常是让应用法度榜样自行恢复,并防止它运行到缺点状况的一个好办法。如不雅你知道哪种异常可能被抛出,最好明白被捕获的各类异常都邑导致哪种应用法度榜样的停止。(我们谈了一点关于软件构架缺点申报的问题)
举例来说,一个导致计费有误的代码缺点比不克不及显示特定具体页面如许的缺灯揭捉?重得多,即使不克不及显示具体页面如许的缺点更轻易出现。当你的应用法度榜样出现异常时,你想要想办法去修复它,然则仅有1%的用户会主动报错,还有很多多少你不知道的缺点存在潜在的隐患。
说到具体的异常类型,你可以向用户汇集反馈信息,如许你就知道具体导致法度榜样掉足的原因,就可以更好的处理这些情况了。
为什么说指定捕获的异常类型很重要
跟着法度榜样的运行,某些异常会破坏数据或以非正常的的方法运行。这会导致应用法度榜样掉足。如不雅你确切知道产生了哪些异常,您应当知道要遵守哪些步调来恢复。或者,如不雅你无法恢复,你应当知道若何很好的处理这个情况。
那么,这可以或许恢复吗?很多时刻,异常有足够的信息来知道掉足了,在被捕获的异常中,有时可以大年夜缺点状况中恢复。你可以经由过程修复一些数据,数据从新获取,甚至请求用户再试一次来实现这一点。
你可以捕获异常,但有时法度榜样仍然无法运行,因为你依附的数据已经以一种弗成恢复的情势破坏,或者这些异常须要以不合的方法来解决。
比如,一个超出范围的数组异常,法度榜样若何大年夜中恢复?这是一个将缺点转化为异常的示例。你的应用法度榜样欲望数据以某种方法存在,但这并没有产生。固然恢复并不老是可能的,但如今有可能一向入缺点状况和流畅的处理情况。如不雅在登录时出现异常,开辟人员可以经由过程添加一些简单的检测来修复异常,在数组被拜访或者改变它被拜访之前。
若何处理未处理的异常

网友点评
精彩导读
科技快报
品牌展示