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知识

  • 相关阅读:
    socket套接字
    popen:让进程看似文件
    fdopen:让文件描述符像文件一样使用
    计算机"右击"管理,不出现界面,解决方案
    javaEE版本的eclipse中导入工程,发现server里面找不到工程,根本发布不了也不能运行
    初识springMVC
    数据库系统
    Red hat 下nfs服务器的搭建
    Linux下MySQL安装和配置
    复习Hibernate(1)
  • 原文地址:https://www.cnblogs.com/pipixiao/p/7419902.html
Copyright © 2011-2022 走看看