【JavaSE】认识异常(下篇)

简介: 【JavaSE】认识异常(下篇)

✨hello,进来的小伙伴们,你们好呐!✨

🍊🍊系列专栏:【JavaSE】

🍰🍰作者简介:一名双非本科大三的科班在读小白,我很平凡,学会努力!

✈️✈️接着上篇,我们认识到了什么是异常,。以及如何处理异常,那么在我们的学习过程中,可能会遇到出了系统给出的其他的异常,那么这个时候我们就可以通过自定义异常来检测程序出现的问题。

⛵⛵实例:模拟实现自定义异常登录

   public class LogIn {

     private String userName = "lingchenqi";

     private String password = "123456";

     public static void loginInfo(String userName, String password) {

       if (!this.userName.equals(userName)) {

           System.out.println("用户名错误!");

      }

       if (!this.password.equals(password)) {

           System.out.println("密码错误!");

      }

       System.out.println("登陆成功");

    }

     public static void main(String[] args) {

       loginInfo("lingchenqi", "123456");

    }

   }

🛰️🛰️此时我们在处理用户名密码错误的时候可能就需要抛出两种异常. 我们可以基于已有的异常类进行扩展(继承), 创建和我们业务相关的异常类.

⛴️⛴️解决方案:

1. 自定义异常类,然后继承自Exception 或者 RunTimeException。

2. 实现一个带有String类型参数的构造方法,参数含义:出现异常的原因。

1.首先我们把代码放在一个包下,这样看起来方便一点,我们新建一个包GetException.

2.在这个包下有三个类一个是我们的实现类 还有两个是我们自定义的异常类。

ababf7aa937a41079e8b12e971dde757.png

3.异常类UserNameException

   public class PasswordException extends RuntimeException{

       public PasswordException(String message){

           super(message);

       }

   }

4.异常类PasswordException

   public class UserNameException extends RuntimeException{

       public UserNameException(String message){

           super(message);

       }

   }

5.实现类Login

   public class LogIn {

       private String userName = "lingchenqi";

       private String password = "123456";

   

       public void loginInfo(String userName, String password)

               throws UserNameException, PasswordException {

           try {

               if (!this.userName.equals(userName)) {

                   throw new UserNameException("用户名错误!");

               }

               if (!this.password.equals(password)) {

                   throw new PasswordException("密码错误!");

               }

               System.out.println("登陆成功");

           } catch (UserNameException e) {

               e.printStackTrace();

           } catch (PasswordException e) {

               e.printStackTrace();

           }

       }

   

       public static void main(String[] args) {

           LogIn login = new LogIn();

           login.loginInfo("lingchenqi","123456");

       }

   }

运行结果1:登录成功时

0a6d209b4fd94815b3efddab9348b9fb.png

运行结果2:用户名错误

dd07d510ccef47e1ba76e63b557a9bbe.png

运行结果3:密码错误

aec7b98275d64ce197d32eb36d1ac892.png

🚦🚦注意:

自定义异常通常会继承自 Exception 或者 RuntimeException。

继承自 Exception 的异常默认是受查异常。

继承自 RuntimeException 的异常默认是非受查异常。

相关文章
|
Java 程序员
JAVA学习笔记—review基本知识[反射与异常]
JAVA学习笔记—review基本知识[反射与异常]
|
1月前
|
Java 数据库连接
【Java基础面试三十六】、遇到过异常吗,如何处理?
这篇文章介绍了Java中处理异常的三个步骤:捕获异常、处理异常(记录日志、根据异常类型和业务情况处理)、以及回收资源(在finally块中关闭资源)。
|
3月前
|
算法 Java
用java撰写伪代码
用java撰写伪代码
26 0
|
4月前
|
安全 Java API
滚雪球学Java(44):掌握Java编程的关键:深入解析System类
【5月更文挑战第19天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
34 0
滚雪球学Java(44):掌握Java编程的关键:深入解析System类
|
4月前
|
监控 Java 程序员
【JavaSE】基础笔记 - 异常(Exception)
【JavaSE】基础笔记 - 异常(Exception)
39 1
|
4月前
|
监控 Java
JAVASE---异常知识补充
Java异常处理涉及关键字try, catch, finally, throw, throws。示例中展示了如何处理`ArithmeticException`。在`Demo01`,尝试除以零并主动抛出异常,通过不同catch块捕获。`Demo02`中,方法`test`可能抛出异常,并通过`throws`声明。`Test`用try-catch处理除零错误,并将异常转换为`RuntimeException`。自定义异常可通过继承`Exception`类实现,流程包括创建异常类、抛出异常对象、捕获处理异常。
26 1
|
11月前
|
安全 Java 数据安全/隐私保护
【JavaSE专栏70】自定义异常,用户根据自己的需求创建的异常类
【JavaSE专栏70】自定义异常,用户根据自己的需求创建的异常类
|
12月前
|
存储 监控 Java
【javaSE】 万字带你认识异常
【javaSE】 万字带你认识异常
|
Java 程序员 数据库
【JavaSE】学习异常
【JavaSE】学习异常
【JavaSE】Java基础语法(二十五):异常
1. 异常 异常的概述 异常就是程序出现了不正常的情况