【知了堂学习笔记】java 自定义异常
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会自动处理一个自定义异常。所以发现异常以及异常处理还是得我们自己完成。所以我们要想做好一件事得先了解它是怎么产生的。
自定义异常的实例:
package text; //自定义一个异常继承RuntimeException异常 public class Exception extends RuntimeException { public Exception() { super("自定义一个异常类"); } } // 模拟服务器异常登录 public class ConnectionServer { private final String ID = "123456"; private final String password = "guoxiao"; public void connect(String ID, String password) throws Exception { if (this.ID != ID || this.password.equals(password)) { throw new Exception(); // 模拟失败过程然后方法内部抛出异常 } } } // 模拟登录过程 public class LoginText { public static void main(String[] args) { LoginText laozhu = new LoginText(); laozhu.login("556ssa", "553xha"); // 创建一个老朱对象,然后登陆,让服务器返回一个异常。 } public void login(String ID, String password) { ConnectionServer connectionServer = new ConnectionServer(); try { connectionServer.connect(ID, password); } catch (Exception e) { System.out.println(e.getMessage()); } } }
不用try{ }catch(){}处理的输出结果
用try{}catch(){}处理的输出结果
www.zhiliaotang.com 请关注知了堂学习更多的java知识