异常概念:
在java中程序的运行往往会因为设计或者编写过程中引起一些错误的操作,这些错误信息主要包含两种类型:
-
错误(Error):通常是JVM内部错误,或者资源耗尽等一些无法从本质上解决的问题(严重问题)
-
异常(Exception):因为一些编程错误或者外在因素引起的可以被修复的问题
Error和Exception都是从Throwable类继承过来。
异常分类(Exception)
java中的异常主要包括两种类型:
1、运行时异常(RuntimeException):在程序运行时才会出现
(1)java.lang.NullPointerException (空指针异常)
(2)java.lang.IndexOutOfBoundsException (索引超出异常)
(3)java.lang.NumberFormatException (转换为数值类型异常)
(4)java.lang.ArrayIndexOutBoundsException (数组索引越界)
(5)java.lang.ClassCastException (类型转换异常)
(6)java.lang.ArithmeticException (算数异常)
2、一般异常(检查异常):在编译期就显示的通知必须处理,一旦出现无法编译
(1)java.lang.ClassNotFoundException (类未找到异常)
(2)java.io.IOException (IO异常)
异常处理
1、异常抛出(throws)
2、异常捕获(try..catch..finally)
java中的异常处理通常包含以下关键字:
-
throw :一定会抛出该异常,通常出现在方法内部用于显式抛出;
-
throws :抛出有可能出现的异常,出现在方法声明区域(在参数列表后面);
-
try :try语句块一般用于将有可能出现异常的语句包裹;
-
catch:处理try语句块中可能出现的异常,一旦异常产生则进入对应的catch块(可以catch多种异常);
-
finally:finally语句块中内容无论是否出现异常,都会执行,一般用执行资源清理与回收;