1.异常在java中以类的形式存在,每一个类都可以创建异常对象
2.程序执行过程中的不正常情况称为异常,
异常的作用:增强程序的健壮性。控制台上显示的异常信息由JVM打印。
Object下的异常Throwable(可抛出)
Throwable(可抛出)下有两个分支:Error(不可处理,直接退出)和Exception(可处理)
Exception(可处理)下有两个分支;1.编译时异常(exception)
2.运行时异常(RuntimeException)
编译时异常;必须在编写程序时进行预先处理,否则编译器会出现报错。
运行时异常:在编写程序时,可以选择处理或者不处理。
所有异常都是在运行阶段发生的。
编译时异常与运行时异常的区别:
编译时异常一般发生的概率较高。
运行时异常发生的概率较低,
java中异常处理的方式:
1.在方法声明上的位置上,使用thows关键字,抛给上一级;
2.使用try...catch语句进行异常的捕捉;
try..... catch细节知识
1.catch后面的小括号可以是具体的异常类型,也可以是该异常类型的父类型;
2.catch可以写多个,建议catch的时候,精确地一个一个处理,这样有利于程序的调试
3.catch写多个的时候,从上到下,必须是从小到大。
try { //try尝试 m1(); } catch (FileNotFoundException e) { //catch是捕捉异常之后做的分支 e.printStackTrace(); } 在以后的开发中,处理编译时异常,是throws上报还是try捕捉?该怎么选择 如果希望调用者来处理,选择throws上报 手动抛异常:throw new MyExceptio 异常中的关键字: 异常捕捉 try catch finally throws(在方法声明上使用,表示上报异常信息给调用者) thow(手动抛出异常)