java异常处理策略_Java异常处理策略

0引言在网上、刊物上,有关Java异常机制的文章已经够多了,然而在实践中,我们仍然发现要把异常机制用好不是一件很容易的事情。本文作者凭借多年的Java开发经验,从一个开发者的独特视角,阐述了在Java中更有效地使用异常机制的策略。正确地使用异常,可以使程序易于开发、维护、远离bug、易于使用。反之,如果异常被错误地使用,就会发生完全相反的事情:程序难以理解和开发、产生令人迷茫的结果、非常难以维护。1Java异常处理基础1.1运行时刻(Runtime)的异常处理顾名思义,异常就是一种意料之外的情形,导致程序不得不中断退出运行,或处理这种情形以后继续运行。一个典型的例子,就是被零除的异常,在编译时是正常的,但是在运行时却会失败,并退出运行。想要避免程序退出,必须捕获并处理异常。事实上,我们可以捕获所抛出异常的一个父类。但这样做有一个副作用,那就是一切从父类派生的异常都会被捕获这也许是所希望的,也许是所不希望的。Java异常机制允许用不同的粒度来捕获并处理所发生的一切异常。1.2编译时刻(Compile-time)的异常检查比起一般的编译器,Java可以在编译时发现更多的隐错。Java的异常处理就是这样的一种机制。其编译过程具有以下两方面特性:抛出异常的检测程序不能够不加声明地抛出一个受检异常。捕获异常的检测程序不能对已声明为可能发生的受检异常置之不理,也不能捕获根本不可能发生的(即未声明的)受检异常。编译时刻可以检查的异常,称为受检异常(checkedexcep-tion)。与此相反,有一些异常在编译时不被检查,它们被称为非受检异常(uncheckedexception)。2抛出异常的策略2.1抛出异常的原则如何抛出一个有效的异常?问题看似简单,实则不然。先看一段代码:publicResourcegetResource(Stringname)throwsResourceLoadingFailedException{...thrownewResourceLoadingFailedException("somethingwrong!");}当方法getResource()抛出ResourceLoadingFailedException异常时,它同时“抛出”了三方面的信息,分别对应着三种消息的“接收者”:异

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值