java异常处理机制以及自定义异常的实现:
Throwable是所有异常的超类,Error和Exception都会继承的Throwable类。
1.其中Error表示的是因为物理原因导致的错误,包括JVM堆栈溢出或是迭代函数导致资源不足,此外死锁也会导致Error。
2.Exception包括检查性异常跟非检查性异常,检查性异常是指程序在编译过程中监测到调用的方法中自身带有抛出异常的语句,就需要捕获住,异常类型也保持一致。运行时异常就是编译期发现不了的,但是运行后抛出错误的。
常见异常介绍:
ArithmeticException算术异常类
NullpointerException空指针异常,一般是传空值,并且用空值执行后报错
ArrayIndexOutOfBoundsException:下标越界异常
SQLException:数据库操作sql错误
IOException:线程未被释放完又被执行抛错
FileNotFoundException:找不到文件路径而抛错
try{
}catch(){
}catch(){
}捕获异常的顺序由上往下,直到检测出为止。
throws是把错误抛给上层,抛给jvm,而不是这个类自己处理,但是上一级就必要要trycatch处理。
throw是明确了这个方法里要抛出的异常,出现在函数体if(){throw Exception}
throws是可能抛出异常的声明,出现在方法函数头