● java异常体系结构
● 常见的异常
数组越界 ArrayIndexOutOfBoundsException
字符索引越界 ArithmeticException
算数异常 ArithmeticException
空指针异常 NullPointerException
类型转换异常 ClassCastException
数字格式化异常 NumberFormatException
● 异常处理
通过5个关键字来实现的:try、catch、 finally、throw、throws
异常处理
java中提供一套异常处理机制,在程序发生异常时,可以执行预先设定好的处理程序
执行完成后,程序会停止,可以继续向后执行
在写代码的时候,就要根据不同的情况设定好处理程序
运行程序
如果程序执行时,出现问题,执行异常处理程序
如果程序执行时,没有出现问题,不需要执行异常处理程序
关键字
try{
写代码,可能会出现异常
}catch(异常类型 a){
捕获指定类型的异常
}finally{
最终必须执行的代码
}
package day14exception;
import java.io.UnsupportedEncodingException;
public class Demo7 {
/*
throws
在方法声明的地方,通过throws关键字,声明此方法可能会出现异常
使用throws抛出异常对象,表示此方法不处理异常,交给调用这个方法的地方进行处理
一般在底层的方法,都不进行处理,抛出异常即可
*/
public static void main(String[] args) {
//由于chu()这个方法抛出的是运行时异常,所以在编译运行期间不会要求强制处理,需要程序员注意
chu(10,0);
//由于test()方法中抛出的是编译期异常,所以在编写代码期间,就强制要求进行处理
//处理办法有两种 1.try catch 捕获处理 2.继续throws 一般到了顶层的方法就不能throws
try {
test();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
public static int chu(int a,int b)throws ArithmeticException{
int c=a/b;
return c;
}
public static void test() throws UnsupportedEncodingException {
"abc".getBytes("utf-8");
}
}