public class Test1 {
//任意类型的throwable对象都可以抛出,它是异常类的根类
//错误信息可以报错在异常对象的内部或者用异常类的名称来暗示
//方法如果抛出异常或者调用的方法抛出异常,那么方法就会结束,为了不让方法结束,可以用try、catch来捕获异常,也就是说如果
//调用的方法抛出了异常,这段代码必须被包裹在try语句块中来捕获可能发生的异常
//jdk自带的方法中,某些敏感的方法都会抛出异常,我们最好的编程习惯就是将调用的语句放在try中。
//多个catch子句,只有一个会匹配执行,然后结束
//java支持的异常处理机制是终止型的,也就是异常一旦发生,表示严重的问题,不可恢复,捕捉处理,终止程序
//对于异常来说,最重要的就是类名,用类名来表示这是某种特定的异常
//编译时被强制检查的异常被称为被检查的异常
//throwable包括error和exception exception含有特殊的runtimeexception 它们不需要编译器检查 被称为不受检查的异常
//无需在 throws子句中进行声明
//不需要程序员抛出,系统会自动抛出
//finally经常做一些清理工作,尤其是内存之外的清理工作,当文件和网络连接打开后,一定要在抛出异常的情况下载finally子句中将其正常关闭
//继承的时候 子类抛出的异常要么和父类一致,要么比父类级别低,不能比父类级别高,否则可能处理不了。无论这样,都要显示声明出来
public static void main(String[] args) {
try{
throw new Exception();
}catch(Exception e){
System.out.println(e.getStackTrace()[0].getMethodName());
}
try {
new B().fun();
} catch (IOException | RuntimeException e) {
e.printStackTrace();
}
}
//RuntimeException
}
class A {
public void fun() throws IOException {
}
}
class B extends A {
public void fun() throws IOException, RuntimeException, ArithmeticException {
}
}
java异常处理机制
最新推荐文章于 2024-08-01 23:16:44 发布