Error:程序不能处理的异常
Exception:应用程序可处理的异常, 一旦调用了有异常抛出的方法,就必须处理异常
常见的:栈溢出
堆溢出--在一个应用中不能无限度的创建对象
语法:
调用了有异常声明的方法,就必须处理异常
处理方法: 1 声明异常再抛出
2 使用try catch语法处理
依赖具体的业务场景适当选择
原则:能处理尽量处理,不能处理就抛出
异常
异常类必须继承于Exception
建议:继承Exception一般要添加全部父类型一样的构造器
1 异常是错误处理机制:是方法的意外结果的处理方案
2 异常是在方法上使用throws关键字声明,在方法中可以使用throws抛出异常实例
3 调用了声明异常抛出的方法必须处理异常
4 处理异常有两种方式
A 使用try catch 处理
B 使用 throws 声明抛出
建议根据具体的业务情况具体选择处理,绝对不能简单抛弃!
5 异常分类
Throwable
|---Error
| |---堆溢出,栈溢出
|---Exception
|---ParseExcpetion
|---NameOrPwdException自定义异常
|---RuntimeException 运行时异常也叫:非检查异常
|---NullPointerException
|---ArrayIndexOutOfBoundsException
|---StringIndexOutOfBoundsException
|---NumberFormatException
6非检查异常:javac忽略掉对RuntimeException的子类型异常语法的检查!可以不用必须处理异常。也可以处理。
7完整的try catch finally语法
try{
}catch(SubException e){
}catch(SuperException e){
}finally{//无论是否有异常,总是执行的代码块
}
fianlly语句块经常用来回收系统资源,保证无论是否出现异常都要可靠回收资源!
8 建议:捕获到异常一般要写e.printStackTrace()非常方便调试软件!
异常
1 什么是异常 :方法的意外结果
2 异常在方法上使用throws关键字声明
3 在方法中如有异常使用throws抛出异常实例
4 异常不抛出和声明依赖于软件的业务功能
5 调用了有异常声明的方法必须处理异常,使用抛出或者trycatch
6 异常的分类
Error
Exception
RuntimeException 非检查异常
7 自定义异常要继承于Exception
8 建议:尽量处理,处理不了一定抛出,不能抛弃,捕获异常一定打印方法调用栈