在java编写中,出现错误是一件很正常的事情,但是我们也需要去了解错误的原因,下面就来讲讲在JAVA中的异常
定义:java异常是java程序运行过程中出现的非正常情况,如果不处理异常的话,会导致程序不能正常运行,不能完成特定功能。
异常类:Throwable 是所有异常的父类,在它下面有两个类Error(错误),Exception(异常)。
Error(错误)的产生一般是程序员自身的问题,写了一段错误的代码,或者是调用了错误的方法。。。。。。
Exception(异常)下面有2种情况 受检异常(程序还没运行时出现的异常) 非受检异常(程序运行中出现的异常)
异常处理:捕获异常
try {//可能出现异常的代码部分
} catch (Excepti e(异常类型 异常变量)) {
System.out.print("出错了")
//执行异常操作
}cath(FileExcepti e(异常类型 变量名)){
}......
finally{
//处理完try与catch操作后的收尾模式,异常同意出口
}
catch定义,由上到下,由小到大,异常类的范围必须由小到大或者同级别的
运行时异常,catch中可以随意定义类型,程序运行时,会根据catch参数自动匹配
非运行时异常,则catch中定义的异常,在try代码块中必须存在,如果没有类似异常存在,则不允许被定义。
finally定义,在进行异常处理后,将作为异常的统一出口,不管是否产生异常,最终都要(异常类型 异常变量)
如果try语句中有return语句,则会先执行return语句,后执行finally,最后返回整个方法
异常处理:抛出异常
关键字:throws
定义:把出现的异常抛出给调用此方法的上一级函数中,并调用出自行处理异常
public static void main(String[] args) throws IOException(异常类型) {
//存在异常的代码块
}
异常处理:抛出异常对象
定义:对当前产生的异常对象进行抛出操作
格式:try……catch和throws一起使用
public static void main(String[] args) throws (异常对象类型) {
try {//可能出现异常的代码部分
} catch (异常类型 变量名)) {
throw 异常对象;;
System.out.print("出错了")}
}
throw抛出的异常对象如果是检测异常,则所在的方法必须要通过throws显性抛出
throw抛出的异常对象如果是非检测异常,则方法上可以选择性定义throws
看到程序出错了不要急,不要烦,先努力找到出错的地方,然后细心观察,慢慢改正。