【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 的异常默认是非受查异常。

相关文章
|
5月前
|
Java 数据库连接
【Java基础面试三十六】、遇到过异常吗,如何处理?
这篇文章介绍了Java中处理异常的三个步骤:捕获异常、处理异常(记录日志、根据异常类型和业务情况处理)、以及回收资源(在finally块中关闭资源)。
|
存储 监控 Java
【javaSE】 万字带你认识异常
【javaSE】 万字带你认识异常
|
Java 编译器 数据安全/隐私保护
【JavaSE专栏22】一文吃透Java的包机制
【JavaSE专栏22】一文吃透Java的包机制
171 0
【JavaSE专栏22】一文吃透Java的包机制
|
存储 Oracle IDE
一遍过JavaSE基础知识
一遍过JavaSE基础知识
103 0
|
IDE Java 开发工具
【JavaSE专栏33】用大白话解释Java的方法重载和方法覆盖
【JavaSE专栏33】用大白话解释Java的方法重载和方法覆盖
112 0
|
Java 程序员 数据库
【JavaSE】学习异常
【JavaSE】学习异常
|
Java
Com.Java.Basis 第十三课 《Java中的异常处理》经历前面的十二课的学习:我在思考在Java中报错如何处理
Com.Java.Basis 第十三课 《Java中的异常处理》经历前面的十二课的学习:我在思考在Java中报错如何处理
61 0
【JavaSE】Java基础语法(二十五):异常
1. 异常 异常的概述 异常就是程序出现了不正常的情况
|
Java 编译器 API
java 异常基础 万字详解(通俗易懂)
个人对于java异常的一些见解,尽量讲得通俗易懂了,力争小白看完可以快速上手,初学者看完可以查缺补漏。感谢阅读!
110 0
java 异常基础 万字详解(通俗易懂)

热门文章

最新文章