首页 > Java Exception

Java Exception

  先贴上一段Exception源码注释

 1 /**
 2  * The class { @code Exception} and its subclasses are a form of
 3  * { @code Throwable} that indicates conditions that a reasonable
 4  * application might want to catch.
 5  *
 6  * 

The class { @code Exception} and any subclasses that are not also 7 * subclasses of { @link RuntimeException} are checked 8 * exceptions. Checked exceptions need to be declared in a 9 * method or constructor's { @code throws} clause if they can be thrown 10 * by the execution of the method or constructor and propagate outside 11 * the method or constructor boundary. 12 * 13 * @author Frank Yellin 14 * @see java.lang.Error 15 * @jls 11.2 Compile-Time Checking of Exceptions 16 * @since JDK1.0 17 */

  第一段能看出Exception与Error的不同,Exception是一个系统想要捕获的东西。(Errors是不应捕获的)

  异常分为Checked Exception和Unchecked Exception。

  CheckedException是除了RuntimeException外所有Exception及其子类,UncheckedException是RuntimeExcetion及其子类。

CheckedException需要使用throws处理,而UncheckedException无须使用throws处理。此处的Checked意思是Checked by coder。

UnCheckedException可以由compiler在运行propagate outside the method or constructor boundary,我们就不必处理了,如

IndexOutofBoundException,ArythmeticException。而FileNotFoundException,SqlBadSyntax之类的在编译阶段是没法处理的,因此

我们必须手动处理。

 

转载于:https://www.cnblogs.com/ennish/p/9505350.html

更多相关:

  • 1. 什么时候使用throws ? (1)定义功能方法时候,需要把出现的问题暴露出来,让调用者去处理。那么就通过throws在方法上标识。 (2)有时候,我们是可以对异常进行处理的,但是又有些时候,我们根本就没有权限去处理某个异常。或者说我们处理不了,我就不处理了。为了解决这个出错问题,java针对这种问题,就提供了另一种处理方案:t...

  • 0

    'or'='or'漏洞是一个比较老的漏洞了,主要是出现在后台登录上,利用这个漏洞,我们可以不用输入密码就直接进入系统的后台。它出现的原因是在编程时逻辑上考虑不周,同时对单引号没有进行过滤,从而导致了漏洞的出现。先给大家简单介绍下漏洞的原理吧,只要大家搞懂了原理,就可以自己去找这样漏洞的系统了。 1:语句:''or'='or' ...