码迷,mamicode.com
首页 > 其他好文 > 详细

自定义异常

时间:2019-05-03 21:11:28      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:继承   cep   结果   http   存在   extend   不同的   util   格式   

为什么要自定义异常类?

Java中不同的异常类,分别表示着某一种具体的异常情况,那么在开发中有些异常情况Java中没有定义好,此时我们根据自己业务的异常情况来定义异常类。

异常类如何定义?

格式:

public class XXXException extends Exception/ RuntimeException{

  //添加一个空参构造

       // 添加一个带异常信息的构造方法

}

注意:

  • 自定义异常类一般都是以Exception结尾,告诉别人这是一个异常类
  • 要么继承Exception,那么定义的异常类就是一个编译期异常。如果抛出编译期异常,要么自己处理try..catch 要么throws 交给别人处理
  • 要么继承RuntimeException,那么定义的异常类就是一个运行期异常。我们可以交个JVM处理。中断处理

代码举例:

技术图片

自定义异常类

 

package demo02;

import java.util.Scanner;

public class RegisterTest {
    // 定义一个字符串数组模拟数据库
    static String[] user = {"张三", "李四", "王五", "赵六"};

    public static void main(String[] args) {
        register(user);

    }

    // 定义一个注册的方法
    public static void register(String[] data) {
        // 获取用户输入的user
        Scanner s = new Scanner(System.in);
        System.out.println("请输入一个用户名");
        String next = s.next();
        //遍历数组 查看用户名是否存在
        for (String datum : data) {
            if (datum.equals(next)) {
                try {
                    //可能出现的异常
                    throw new RegisterException("用户名已经存在了");
                } catch (RegisterException e) {
                    //打印异常信息,
                    e.printStackTrace();
                    //结束方法
                    return;
                }
            }

        }
        System.out.println("注册成功");
    }
}

执行结果

技术图片

 

自定义异常

标签:继承   cep   结果   http   存在   extend   不同的   util   格式   

原文地址:https://www.cnblogs.com/wurengen/p/10805615.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!