
)
什么是异常????
字面意思就是不正常的情况,叫做异常
java中出现的非正常情况导致Jvm停止的情况,统称为异常 异常类是Throwable
Throwable
-
Error 错误严重问题
- VirtualMachineError 虚拟机异常
- StackOverFlowError
- OutOfMemoryError
- AWTError
- VirtualMachineError 虚拟机异常
-
Exception 异常
- RuntimeException 运行时异常
- 非运行时异常(编译时异常)
Throwable
Throwable类是Java语言中所有Error和Exception的超类。只有作为此类实例(或其子类之一)的对象才会由Java虚拟机抛出,或者可以由Java抛出语句抛出。类似地,只有这个类或它的一个子类可以是catch子句中的参数类型。为了在编译时检查异常,Throwable和任何不属于RuntimeException或Error子类的Throwable子类都被视为已检查异常。
已检查出的异常和Throwable 构成了所有java所有异常.
Throwable分类
- Error 错误
- Exception
1.Error 程序中出现的严重问题问题,不修改程序无法运行
Error是Throwable的一个子类,是所有错误的超类,被设计出一个应用不可捕捉的异常情况.不需要在throws句子中声明 在方法执行期间可能抛出但未捕获的Error的任何子类,因为这些错误是不应该发生的异常情况。也就是说,为了在编译时检查异常,Error及其子类被视为未检查的异常。
Error所产生的错误都是虚拟机所产生的的错误,被设计成不能被捕捉只能崩溃来处理.
Error 是严重的代码错误会导致虚拟机崩溃需要优化代码来处理问题.
2.Exception 异常,java中所有异常的超类
- RuntimeException 运行时异常(不可检测异常)
- 非运行时异常(编译时异常,可检测异常,编译期可查看报错,不修改不能运行程序
3.异常处理tyr{}catch(){}finally{}
执行顺序
- 无异常 try-->finally
- 有异常且处理异常 try--> catch-->finally
- 有异常不处理 try--> 执行 catch没有处理掉异常 ,直接抛给了Jvm finally会执行 但是finally以后的代码不执行
4: 声明异常 throws
自己不想或者没能力处理异常的时候可以将异常声明出来 ,将问题抛给方法调用者,这就是声明异常
public void method() throws Exception{
}
5:抛出异常 throw
程序出于某种目的要中断逻辑,不继续执行的时候就可以抛出异常
public void method(){
throw new Exception();
}
网友评论