编译时错误,不能生成class,不属于异常处理[就是我们可以看到的红色提示]
运行期间 class文件以后 运行出现错误 这是异常处理
-
-
- 检查异常 一定要处理(积极处理try...catch...、消极处理throw和throws) 常见的:类找不到的异常、文件找不到的异常、sql异常、流异常、套接字异常、解析异常、反射异常
- 非检查异常可以处理也可以不处理 常见的:空指针异常、数组下标异常、算术异常、类型转换异常、数字格式转换异常
逻辑错误 程序的运行结果和实际结果不一致
public class Base {
public void eat() throws ClassNotFoundException {
}
}
class Son extends Base{
//子类中重写的方法声明了检查异常 父类被重写的方法的异常一定要大于或者等于子类的异常
public void eat() throws ClassNotFoundException{
}
}
public class Base {
public void eat(){
}
}
class Son extends Base{
//子类中重写的方法声明了非检查异常 父类不需要去声明异常
public void eat() throws NullPointerException{
}
}