首页 > 编程语言 >Java如何实现自定义异常

Java如何实现自定义异常

时间:2022-12-19 11:01:58浏览次数:43  
标签:Java String 自定义 注册 异常 public RegisterException

自定义异常概述

为什么需要自定义异常类: 我们说了Java中不同的异常类,分别表示着某一种具体的异常情况,那么在开发中总是有些异常情况是SUN没有定义好的,此时我们根据自己业务的异常情况来定义异常类。例如年龄负数问题,考试成绩负数问题等等。 在上述代码中,发现这些异常都是JDK内部定义好的,但是实际开发中也会出现很多异常,这些异常很可能在JDK中没有定义过,例如年龄负数问题,考试成绩负数问题.那么能不能自己定义异常呢? 什么是自定义异常类: 在开发中根据自己业务的异常情况来定义异常类. 自定义一个业务逻辑异常: RegisterException。一个注册异常类。 异常类如何定义:

  1. 自定义一个编译期异常: 自定义类 并继承于java.lang.Exception
  2. 自定义一个运行时期的异常类:自定义类 并继承于java.lang.RuntimeException

自定义异常的练习

要求:我们模拟注册操作,如果用户名已存在,则抛出异常并提示:亲,该用户名已经被注册。 首先定义一个登陆异常类RegisterException:

// 业务逻辑异常
public class RegisterException extends Exception {
    /**
     * 空参构造
     */
    public RegisterException() {
    }

    /**
     *
     * @param message 表示异常提示
     */
    public RegisterException(String message) {
        super(message);
    }
}

模拟登陆操作,使用数组模拟数据库中存储的数据,并提供当前注册账号是否存在方法用于判断。

public class Demo {
    // 模拟数据库中已存在账号
    private static String[] names = {"zhangsan","lisi","wangwu"};
   
    public static void main(String[] args) {     
        //调用方法
        try{
              // 可能出现异常的代码
            checkUsername("nill");
            System.out.println("注册成功");//如果没有异常就是注册成功
        }catch(RegisterException e){
            //处理异常
            e.printStackTrace();
        }
    }

    //判断当前注册账号是否存在
    //因为是编译期异常,又想调用者去处理 所以声明该异常
    public static boolean checkUsername(String uname) throws LoginException{
        for (String name : names) {
            if(name.equals(uname)){//如果名字在这里面 就抛出登陆异常
                throw new RegisterException("亲"+name+"已经被注册了!");
            }
        }
        return true;
    }
}

本文内容到此结束了, 如有收获欢迎点赞

标签:Java,String,自定义,注册,异常,public,RegisterException
From: https://blog.51cto.com/zhanjq/5951543

相关文章

  • 日常开发记录-u-search组件苹果手机icon图片显示异常-多出一个搜索图标
    在ios15使用u-search搜索图标显示异常,如图在App.vue文件中添加css样式即可解决input[type="search"]{-webkit-appearance:none;}[type="search"]::-webkit-sea......
  • Java大写字母转换成小写字母(转载)
    问题:把一个小写字母转对应的大写字母,有几种办法?解题思路1:使用语言自带的APIpublicCharactertoLowerCase(Characters){returnCharacter.toLowerCase(s);......
  • 教你用JavaScript实现推荐滑块
    案例介绍欢迎来到我的小院,我是霍大侠,恭喜你今天又要进步一点点了!我们来用JavaScript编程实战案例,做一个推荐滑块。推荐滑块展示内容,每隔3秒自动变换。案例演示运行程序后......
  • java之增强for和迭代器精选
    前言:未来这个词听上去就是美好,可是你别忘了呀,每一个我们所期待的美好未来,都必须有一个努力的现在!!!我们上一篇聊到了java之集合,这一篇我们聊一下增强for和迭代器,针对于以下......
  • 教你用JavaScript实现表情评级
    案例介绍欢迎来到我的小院,我是霍大侠,恭喜你今天又要进步一点点了!我们来用JavaScript编程实战案例,做一个表情评价程序。用户打星进行评价,表情会根据具体星星数量发生变化......
  • 【Java复健指南14】异常处理
    【异常处理】Java语言中,将程序执行中发生的不正常情况称为“异常”(开发过程中的语法错误和逻辑错误不是异常)分类执行过程中所发生的异常事件可分为两大类:1)Error(错......
  • pycaret学习之异常检测
    异常检测是识别与大多数数据明显不同的稀有物品、事件或观察结果的任务。通常,异常项目会转化为某种问题,例如银行欺诈、结构缺陷、医疗问题或文本中的错误。存在三大类异常......
  • Java面试题
    Java基础Java语言具有哪些特点?1.Java为纯面向对象语言。(所有的静态内容(static关键修饰的变量和方法)不属于任何对象?JVM在创建对象的时候,实际上会创建两个对象:一个......
  • JavaScript冒泡排序+Vue可视化冒泡动画
    冒泡排序(BubbleSort)算是前端最简单的算法,也是最经典的排序算法了。网上JavaScript版本的冒泡排序很多,今天用Vue实现一个动态的可视化冒泡排序。01、JavaScript冒泡排序......
  • Ubuntu 安装配置 Java 环境
    下载Java官网https://www.oracle.com/java/technologies/downloads/https://www.oracle.com/cn/java/technologies/downloads/国内镜像http://www.codebaoku.com/jd......