目录
异常
try-catch-finally
- e.getMessage(); 输出错误性质
- e.toString(); 输出类型和性质
- e.printStackTrack(); 指出异常的类型、性质、栈层次及出现在程序中的位置
- catch异常按顺序进行捕捉
package ex12_Exception;
public class Take {
public static void main(String[] args) {
try { //try语句中包含可能出现异常的代码
String str = "hi";
System.out.println("str: " + str);
int age = Integer.parseInt("20L");
System.out.println("age: " + age);
} catch (Exception e) { //获取异常信息
e.printStackTrace(); //输出异常性质
}
System.out.println("program over");
}
}
Java常见异常
自定义异常
package ex12_Exception;
class MyException extends Exception { //创建自定义异常,继承Exception
public MyException(String ErrorMessage) { //构造方法
super(ErrorMessage); //父类构造方法
}
}
public class Tran {
static int avg(int number1, int number2) throws MyException {
if (number1 < 0 || number2 < 0) { //判断是否满足条件
throw new MyException("不可使用负数"); //抛出异常信息
}
if (number1 > 100 || number2 > 100) {
throw new MyException("数值太大了");
}
return (number1 + number2) / 2;
}
public static void main(String[] args) {
try { //处理可能出现异常的代码
int result = avg(102, 150); //调用avg()方法
System.out.println(result);
} catch (MyException e) {
System.out.println(e); //输出异常信息
}
}
}
运行时异常
Java类库的每个包中都定义了异常,所有这些类都是Throwable的子类,Throwable派生出两个子类,Exception类和Error类