扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在本页阅读全文(共2页)
好,不好和恶劣三种。
同时向你提供了一些解决这些问题的技巧。
首先解释一些java异常处理中必须搞清楚的定义和机制。Java语言规范将自Error类或RuntimeException类衍生出来的任何违例都称作“不可检查”(Unchecked)异常;其他所有异常则称作“可检查”(Checked)异常。
所谓可检查异常,是指我们应该自行处理的异常。至于处理的手段,要么加以控制(try catch),要么通告(throws)他们有可能产生。通常,应捕捉那些已知如何处理的异常,而通告那些不知如何处理的异常。
而对那些不可检查异常来说,他们要么在我们的控制之外(Error),要么是我们首先就不该允许的情况(RuntimeException).
至于异常的指定,Java的规则非常简单:一个方法必须通告自己可能产生的所有可检查异常。编写自己的方法时,并不一定要通告出方法实际可能产生的每一个异常对象,要想理解什么时候必须要方法的throws丛句来通告异常,就必须知道对一个异常来说,他只有可能在下面四种情况下才会产生:
1.调用了可能产生异常的方法。比如BufferedReader类的readLine方法。该方法通告java.io.IOException异常
2.侦测到一个错误,并用throw语句产生异常。
3.出现一个编程错误。比如a[-1] = 0。
4.Java产生内部错误。
如果出现头两种情况之一,必须告诉打算使用自己方法的人:假如使用这个方法,可能造成一个异常的产生(即在方法头上使用throws),一个简单的记忆方法:
只要含有throw,就要通告throws。如果一个方法必须同时处理多个异常,就必须在头内指出所有异常。就像下例展示的那样,用逗号对他们进行分割:
1 |
class Animation { public Image loadImage(Strint s) throws EOFException,MalformedURLException { ………… } } |
1 |
try { FileInputStream fis = new FileInputStream(args[0]); // other code here ... } catch (FileNotFoundException fnfe) { System.out.println("File: " + args[0] + " not found. Aborting."); System.exit(1); } |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者