---------------------- android培训、java培训、期待与您交流! ----------------------
1. 异常的体系
• Throwable
• Error
• 通常出现重大问题如:运行的类不存在或者内存溢出等。
• 不编写针对代码对其处理
• Exception
• 在运行时运行出现的一起情况,可以通过try catch finally
Exception和Error的子类名都是以父类名作为后缀。
2.Throwable中的方法:
getMessage() 获取异常信息,返回字符串。
toString() 获取异常类名和异常信息,返回字符串。
printStackTrace() 获取异常类名和异常信息,以及异常出现在程序中的位置。返回值void。
printStackTrace(PrintStream s) 通常用该方法将异常内容保存在日志文件中,以便查阅。
3.自定义异常:
自定义异常类继承Exception或者其子类
通过构造函数定义异常信息。
异常类定义:
class FuShuException extends Exception {
public FuShuException(String message) {
super(message);
}
}
class Demo2 {
public static void main(String agrs[]) {
try {
Tools.div(5, -2);
} catch (FuShuException e) {
e.printStackTrace();
}
}
}
class Tools {
static void div(int x, int y) throws FuShuException {
if (y < 0)
throw new FuShuException("除数不能为负");
System.out.println("x/y=" + (x / y));
}
}
注:throw用在函数内,throws用在函数上。
4.当重写时,重写方法要么抛出父类异常,或者父类的子类异常。如果父类或者接口的方法中没有异常抛出,那么子类在覆盖方法时,也不可以抛出异常。如果子类方法发生了异常。就必须要进行try处理。绝对不能抛。
5.异常可以使错误代码和正常流程代码分离开来。
6.RuntimeException由虚拟机捕获处理。
---------------------- android培训、java培训、期待与您交流! ---------------------