For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
编程异常是程序员在开发软件的时候会经常遇到的一个问题,而今天我们就通过案例分析来了解一下,java编程开发异常处理与应用指南。
使用异常的好处(对编程语言来说加入异常的好处):
降低处理错误代码的复杂度,否则处理错误代码繁多且臃肿,影响正常核心逻辑的理解和处理。
只需要在一个地方处理错误(异常处理程序,catch块)。
将正常代码和问题处理代码相分离。
异常重要的方面之一就是如果发生问题,它将不允许程序沿着其正常的路径继续走下去。C或C++不行,尤其是C没有任何办法强制程序在出现问题时停止在某条路径上运行下去。
我们抛出异常时总是用new在堆上创建异常对象。异常一般会有默认构造器或者接受字符串作为参数的构造器,以便把相关信息放入异常对象的构造器;或者两种都有。
异常处理的可选方式(重要)
被检查异常的优缺点:
优点是一次说明能增加开发人员的效率,并提高代码的质量,对小项目,小程序友好。
缺点是对于大项目来说,过多的异常类型声明及检查导致项目无法管理,开发效率下降,也不能很好的提高代码质量。
总的来说,Java的”被检测异常“带来的麻烦比好处要多。
原因是被检查异常强迫程序员在不知道该采取什么措施的时候提供异常处理程序,这是不现实的。(亚信的代码就是这样,方法里一堆的异常声明;优车就好很多,控制得很好。)
异常机制及强静态类型检查必要的原因是:
不在于编译器是否会强制程序员去处理错误,而是要有一致的、使用异常来报告错误的模型。
不在于什么时候进行检查,而是一定要有类型检查。必须强制程序使用正确的类型,置于这种强制是在编译器还是运行时并不重要。
减少编译时施加的约束能显著提高程序员的编程效率。反射和泛型就是用来补偿静态类型检查所带来的过多限制。
好的程序设计语言能帮助程序员写出好程序,但无论哪种语言都避免不了程序员用它写出坏程序。
对于被检查异常的处理方式:
把异常传递给控制台。就不需要写try-catch处理了。
把”被检查异常“转换为”不被检查异常“。方法有2:
即把”被检查异常“包装进RuntimeException,这样方法也不用异常声明(因为RuntimeException是不被检查异常,不需要声明或者处理)。
创建自己的RuntimeException子类,这样抛出的异常也是不受检查的,也不需要异常声明或者try-catch处理。
异常使用指南:
在恰当的基本处理问题。(即在知道该如何处理异常的情况下才捕获异常。)
解决问题并且重新调用产生异常的方法。(很少这样处理)
进行少许修补,然后绕过异常发生的地方继续执行。(一般是异常不影响流程或者可以忍受,直接忽略异常往下执行。)
用别的数据进行计算,以代替方法预计会返回的值。(也很少用到)
把当前运行环境下能做的事情进来做完,然后把相同的异常重新抛到更高层。(跟三点差不多,这个也有用到)
把当前运行环境下能做的事情进来做完,然后把不同的异常重新抛到更高层。
终止程序。
进行简化。(如果异常模式使得问题变得太复杂,则相对恼人)
让类库和程序更安全。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。