1-5在往期
6.异常
6.1异常种类
checked异常,编译时异常,必须在编写的时候处理
runtime异常,运行期异常,不是在编写时必须处理
6.2异常关键字
try catch finally throw throws
try catch finally:
import java.util.Scanner;
public class Demo1 {
int a = 0;
public static void main(String[] args) {
try {
Scanner sc = new Scanner(System.in);// 导包快捷键CTRL+shift+o
System.out.println("请输入被除数");
int num1 = sc.nextInt();
System.out.println("请输入除数");
int num2 = sc.nextInt();
System.out.println(num1 + "/" + num2 + "=" + num1 / num2);
System.out.println("感谢使用本程序");
// catch() 方法中的异常代表捕获的异常
}catch (ArithmeticException e) {
//异常从小到大,排列
// 处理异常的一个解决方案
System.err.println("除数为0了,不能为0");
e.printStackTrace();
} catch (Exception e) {
// 处理异常的一个解决方案
System.err.println("除数为0了,不能为0");
e.printStackTrace();
}finally {
//无论有无异常,都会执行
System.out.println("感谢使用本程序");
}
try catch捕获异常后,会新开辟空间,执行异常之后的语句
System.out.println("hehehe");
}
}
throw throws:
public void print() throws Exception {
throw new Exception("haha");
}
6.3常见异常类型
算数异常:ArithmeticException(分母为0,对数的底数为0,对数的指数为负)
输入不匹配:InputMismatchException
类型转换异常:ClassCastException
数组下标越界异常:ArrayIndexOutOfBoundsException
空指针异常:NullPointerException
找不到指定类异常:ClassNotFoundException
非法参数异常:illegaArgumentException
数值格式转换异常:NumberFormatException
下标越界异常:IndexOutOfBoundsException
输入输出异常:IOException
数据库异常:SqlExcepyion
eclipes快捷键:
ctrl+shift+o 导包快捷键
alt+shift+z 异常try快捷键