运行时异常Exception - 代码报错,不能运行
java源文件向class字节码文件编译过程中出现异常
处理异常 throwsRuntimeException - 可运行,若报错,程序结束
在运行过程中出现异常,源文件可正常编译为class文件
在异常代码方法参数列表后使用throws,抛出异常类名(可抛多个) 无先后顺序
绕过虚拟机,将异常处理过程滞后,交给调用该方法的方法处理
public void show() throws Exception,IOException{
//编译期异常代码
}
try..catch
方法体代码大概率会出现异常使用
可保证后续代码正常执行
可添加友好提示语句
try{
// 可能会出现异常代码
}catch(异常的引用:NullPointerException n){
syso(n); // 输出异常类型和错误代码
syso(n.getMessage()); // 输出错误代码
syso(提示语句);
}catch(Exception e){
// 异常父类Exception可接收所有异常
}finally{
// 无论是否出现异常都执行
// 一般放入关闭资源的代码
}
自定义异常
创造异常类继承RuntimeException - 运行时异常
继承Exception - 编译期异常
throw:抛出一个异常类对象(必然犯这个错误)
public class 异常名 extends RuntimeException{
// 构造方法
public 异常名(String name){
super(name);
}
}
运行异常类
// 找时机
if(!name.equals("张三")) {
try {
// 通过throw关键字,抛出自定义异常
throw new 异常名("自定义异常提示");
} catch (Exception e) {//接收抛出的异常对象
// 输出异常提示
System.out.println(e.getMessage());
}
}
System.out.println("后续代码");



