- 非受检异常
package except;
public class ExceptionTest
{
public static void main(String[] args)
{
ExceptionTest ett = new ExceptionTest();
ett.doSomething();
}
public void doSomething()throws ArithmeticException
{
System.out.println();
}
}
如上代码是可以编译通过,并且能正常运行。这是因为ArithmeticException为非受检异常(extends RuntimeException), 也叫RuntimeException(运行时异常)。对未检查的异常(unchecked exception )的几种处理方式:
1、捕获
2、继续抛出
3、不处理
- 受检异常
package except;
import java.io.IOException;
public class ExceptionTest
{
public static void main(String[] args)
{
ExceptionTest ett = new ExceptionTest();
ett.doSomething();
}
public void doSomething()throws IOException
{
System.out.println();
}
}
如上代码编译不能通过,IOException就属于受检异常,必须做处理。对检查的异常(checked exception,除了RuntimeException,其他的异常都是checked exception )的几种处理方式:
1、继续抛出,消极的方法,一直可以抛到java虚拟机来处理
2、用try...catch捕获