java 常见异常种类(Java Exception):
算术异常类:ArithmeticExecption
空指针异常类:NullPointerException
类型强制转换异常:ClassCastException
数组负下标异常:NegativeArrayException
数组下标越界异常:ArrayIndexOutOfBoundsException
违背安全原则异常:SecturityException
文件已结束异常:EOFException
文件未找到异常:FileNotFoundException
字符串转换为数字异常:NumberFormatException
操作数据库异常:SQLException
输入输出异常:IOException
方法未找到异常:NoSuchMethodException
常见异常类为两大类型:Throwable是java异常的根类分为两大子类Error和Exception,Error类代表了编译和系统的错误,不允许捕获;Exception类代表了标准Java库方法所激发的异常。Exception类还包含运行异常类Runtime_Exception和非运行异常类Non_RuntimeException这两个直接的子类。
今天主要谈谈自定义异常
为什么要自定义异常。
我们不可能期待JVM(Java虚拟机)自动抛出一个自定义异常,也不能够期待JVM会自动处理一个自定义异常。所以发现异常以及异常处理还是得我们自己完成。所以我们要想做好一件事得先了解它是怎么产生的。
自定义异常的实例:
packagetext;//自定义一个异常继承RuntimeException异常
public class Exception extendsRuntimeException {publicException() {super("自定义一个异常类");
}
}//模拟服务器异常登录
public classConnectionServer {private final String ID = "123456";private final String password = "guoxiao";public void connect(String ID, String password) throwsException {if (this.ID != ID || this.password.equals(password)) {throw newException();//模拟失败过程然后方法内部抛出异常
}
}
}//模拟登录过程
public classLoginText {public static voidmain(String[] args) {
LoginText laozhu= newLoginText();
laozhu.login("556ssa", "553xha");//创建一个老朱对象,然后登陆,让服务器返回一个异常。
}public voidlogin(String ID, String password) {
ConnectionServer connectionServer= newConnectionServer();try{
connectionServer.connect(ID, password);
}catch(Exception e) {
System.out.println(e.getMessage());
}
}
}
不用try{ }catch(){}处理的输出结果
用try{}catch(){}处理的输出结果