黑马程序员技术交流社区

标题: 【成都校区】每日笔记-Throwable [打印本页]

作者: Boooom    时间: 2018-11-22 13:58
标题: 【成都校区】每日笔记-Throwable
Throwable
[size=14.6667px]java.lng.throwable:类是JAVA语言中所有错误或异常的超类。
Exception:编译期异常,进行编译(写代码)java程序出现的问题
[size=14.6667px]异常的分类:
Error:错误
[size=14.6667px]错误就相当于程序得了无法治愈的毛病,必须修改源代码,程序才能继续执行
注意事项
注意事项异常的本质其实就是异常类创建对象并抛出。
编译期异常在编译时期会有编译错误,但是不是意味着你的代码已经错了,也不会在编译时期产生异常对象。
编译期异常只是需要我们对可能发生的异常做一个预处理。
两种异常使用上的区别:
编译期异常要求我们在编译时期必须处理。(对可能出现的问题,必须先来一个预处理方案)
运行期异常不需要预处理
除了以上两点区别:其他的使用方面,编译期异常和运行期异常相同的
throw关键字
[size=14.6667px]作用:可以使用throw关键字在指定的方法中手动抛出异常。
格式::throw new 异常类型
注意:
throws:是异常的处理方式的一种,就把产生的对应异常抛给方法的调用者
throw:手动产生异常对象
2.try ... catch 自己处理
[size=14.6667px]格式:
try {
可能出现异常的代码
}catch(异常类型 变量名){
处理异常的逻辑
}
1.流程:
当try中的代码出现异常了,产生异常对象,将异常对象和catch括号中的异常变量进行匹配,
. 如果可以匹配上,则会把对象赋值给异常的变量,catch中的代码会被执行,异常则已经处理完毕,try catch后续的代码也能正常执行
. 如果不能匹配上,则try...catch捕获异常失败,此时异常和没处理一样,则会抛给方法的调用者。
2.多异常处理流程
[size=14.6667px]如果try中的代码产生异常了,会将异常信息封装为一个异常对象,跟catch中的异常类型进行匹配,
. 如果匹配上则会将异常对象赋值给对应的异常变量,并进行对应的chatch大括号中的逻辑,执行完后则整个try...catch就会结束;
. 如果第一个没有匹配上则会由上往下一次去匹配。
注意:如果多个catch有子父类关系,子类的异常类型的catch必须放在父类异常类型的catch的前面
finally
[size=14.6667px]有时候我们需要某些代码在任意情况下都需要执行,这个时候,我们需要用到一个结构。
try {
可能会出现异常的代码
}catch(异常类型 变量名){
处理异常的逻辑
}finally {
任意情况下,此处代码都会执行
}
Throwable 的方法
[size=14.6667px]public String getMessage():获取异常的描述信息,原因(提示给用户的时候
public String toString():获取异常的类型和异常的描述信息(不用)。
public void printStacktrace():打印异常信息并输出到控制台
自定义异常类:
什么时候要使用自定义异常:
结构





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2