异常
作者:互联网
所有的异常类都是从java.lang.Exception类继承的子类。
Exception 类是Throwable类的子类。除了Exception类外,Throwable还有一个子类Error。
Java程序同通常不捕获错误。错误一般发生在严重故障时,它们在Java程序处理的范畴之外。Error用来指示运行时环境发生的错误。
例如,JVM内存溢出。一般地,程序不会从错误中恢复。
异常类有两个主要的子类:IOException类和RuntimeException类。
异常:(万物皆对象:抛出的异常也是对象)
检查性异常:最具代表的检查性异常时用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单的忽略。
运行时异常:运行时异常时可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。
错误ERROR:错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译也检查不到的。
try{//对异常进行处理,使结果不抛异常
//程序
}catch(异常类型 e){
//程序
}finally{//无论是否发生异常,都希望执行的某段代码
//代码
}
?? finally 是否在任何情况行都会执行 ×
1.执行System.exit(0)后不执行finally
2.return; (方法结束) 在执行return之前,会先去执行finally执行结束后再回来执行return;
自定义异常
步骤:
1.创建自定义异常类 (继承Exception)
2.在方法中通过throw关键字抛出异常对象。
3.如果在当前抛出异常的方法中处理异常,可以使用try-catch语句捕获并处理;否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作。
4.在出现异常方法的调用者中捕获并处理异常
Object
|
Error(错误) Exception(异常)
程序员无法解决 | |
checked异常 RuntimeException
必须进行异常处理 不用一定try-catch
1. IOException 1.ArithmeticException 异常的运算条件 (除以0)
2. SQLException 2.NullPointerException 空指针异常
3.NumberFormatException 当应用程序试图将字符串转换成一种数值类型,但该字符串不能转换为适当格式时,抛出该有异常
标签:Exception,错误,子类,finally,执行,异常 来源: https://www.cnblogs.com/On1on/p/16538268.html