体系结构和分类
有编译异常时,需要在函数中显示声明(否则编译(IDEA)器报错)
虚拟机默认处理异常的方式
- 在控制台中以红色字体打印出异常信息
- 在异常发生处退出应用程序
throws异常声明 / throw抛出异常
public class MyException {
public static void main(String[] args) throws FileNotFoundException {
myFunc(2);
}
// throws的发声明是必须的...
private static void myFunc(int v) throws FileNotFoundException {
if(v > 5)
{
// 运行时异常
throw new IndexOutOfBoundsException("RuntimeException");
}
else if(v < 0) {
// 运行时异常
throw new NullPointerException("NullPointException");
}
// 编译时异常
throw new FileNotFoundException();
}
}
编译期的异常必须需要显声明,运行时异常的声明不是必须的:
private static void myFunc(int v) throws IndexOutOfBoundsException, NullPointerException{
if(v > 5)
{
throw new IndexOutOfBoundsException("RuntimeException");
}
else {
throw new NullPointerException("NullPointException");
}
}
编译时异常:
public class MyException {
public static void main(String[] args) throws FileNotFoundException {
myFunc(2);
}
// throws的发声明是必须的...
private static void myFunc(int v) throws FileNotFoundException {
if(v > 5)
{
// 运行时异常
throw new IndexOutOfBoundsException("RuntimeException");
}
else if(v < 0) {
// 运行时异常
throw new NullPointerException("NullPointException");
}
// 编译时异常
throw new FileNotFoundException();
}
}