zoukankan      html  css  js  c++  java
  • 【知了堂学习笔记】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知识

  • 相关阅读:
    Django:重定向
    Django:使用get_template、render实现读取数据并传递数据
    Django:读入html中的数据
    Django:urls配置路由地址
    Django:基础知识-创建模块
    HTMLTestRunner美化
    python2 selenium
    Jmeter检查点
    Jmeter集合点
    jmeter的三种参数化方式
  • 原文地址:https://www.cnblogs.com/pipixiao/p/7419902.html
Copyright © 2011-2022 走看看