运行时异常,程序中总会遇到各种错误(运行时错误)
1.需要一种方式,通知调用者,程序出问题
方法 1 通过返回值
queue.poll();//从队列中删除一个数
当队列为空时 返回null
缺点:1、占用一个特殊值;2、检查起来很麻烦
方法2 通过异常
queue.remove();//当队列为空时 抛出异常
语法:
1.如何定义异常 定义一种错误
2.如何抛出异常 表示当前调用发生了某种错误
throw new RuntimeException();
3.如何处理异常 调用者的任务
try{
//可能会抛出异常的语句
throw new RuntimeException();
list.get(0);
}catch(Exception e)
System.out.println();
}
try{
//可能会抛出异常的语句
}finally{
}
异常本质是是一个对象
我们经常会考虑到发生了错误应该怎么办;常见错误有以下三种
1不可恢复的错误 cpu坏掉,层序退出
2可恢复的错误
网络卡了、重试、通知修复(自动/手动)
3程序员造成的错误(代码有问题)
为了尽可能早的暴露
不要catch或者catch后增加打印日志
throwable
Exception Error(不可恢复)
RuntimeException
void method()
check exception 受查异常
uncheck exception 非受查异常
1.通知错误的机制
2.两个动作
1 抛出异常(发生异常)
2 捕获异常(错误处理)
3.语法:
throw异常对象;
throw new Exception();
捕获异常:
try必须{
}catch(可选)(异常类型..){
}catch(可选)(异常1|异常2){
}finally(可选)(但是catch和finally两个不能同时缺失)