可能找到物联网的地方
|
有人认为断言仅是一种调试工具,一旦代码发布后就应该关闭断言,因为断言会增加一些开销(微小的 CPU 时间)。所以在很多工程实践中断言确实是关闭的,也有不少大 V 有过这样的建议。Dndrew Hunt 和 David Thomas 反对这样的说法,在他们书里有一个比喻我认为很形象。 在你把程序交付使用时关闭断言就像是因为你曾经成功过,就不用保护网取走钢丝。 ——《The pragmatic Programmer》 处理错误时的关键选择 防御式编程会预设错误处理。 在错误发生后的后续流程上通常会有两种选择,终止程序和继续运行。
在处理错误的时候我们还面临着另外一种选择,正确性和健壮性的选择。
无论是使用卫语、断言还是预设错误处理都是在用抱着对程序世界的敬畏态度在小心的驾驶,时刻提防着他人更提防着自己。 北京第三区交通委提醒您,道路千万条,安全第一条,行车不规范,亲人两行泪。 正确使用异常 检查每一个可能的错误是一种良好的实践,特别是那些意料之外的错误。 非常棒的是,Java 为我们提供了异常机制。如果充分发挥异常的优点,可以提高程序的可读性、可靠性和可维护性,但如果使用不当,异常带来的负面影响也是非常值得我们注意并避免的。 只在异常情况下使用异常 在《The pragmatic Programmer》和《Effective Java》中作者都有这样的观点。 我认为这有两重意思。一重意思如何处理识别异常情况并处理他,另一重意思是只在异常情况下使用异常流程。 那什么是异常情况,又该如何处理?这个问题无法在代码模式上给出标准的答案,完全看实际情况,要对每一个错误了然于胸并检查每一个可能发生的错误,并区分错误和异常。
即便同样是打开文件操作,读取"/etc/passwd"和读取一个用户上传的文件,同样是 FileNotFoundException,如何处理完全取决于实际情况,Surprise!前者直接读取文件出现异常直接抛出让程序尽早崩溃,而后者应该先判断文件是否存在,如果存在但出现了 FileNotFoundException 则再抛出。 (编辑:伊春站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
