ExceptionService和MyException和自定义异常


@Service
public class ExceptionService {


    public void throwException(ResultEnum resultEnum) {
        throw new MyException(resultEnum);
    }


    public void throwException(Integer code, String message) {
        throw new MyException(code, message);
    }


    public void throwNullException(Object object, ResultEnum resultEnum) {
        if (object == null) {
            throw new MyException(resultEnum);
        }
    }


    public void throwNotNullException(Object object, ResultEnum resultEnum) {
        if (object != null) {
            throw new MyException(resultEnum);
        }
    }


    public void throwNotEqualsException(Object source, Object target, ResultEnum resultEnum) {
        if (!source.equals(target)) {
            throw new MyException(resultEnum);
        }
    }
}
public class MyException extends RuntimeException {

    private Integer code;

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public MyException(Integer code, String message) {
        super(message);
        this.code = code;
    }

    public MyException(ResultEnum resultEnum) {
        super(resultEnum.getMessage());
        this.code = resultEnum.getCode();
    }
}

自定义异常

public enum ResultEnum {



    RESPONSE_OK(200, "响应正确"),
    PARAM_ERROR(20, "参数不正确"),
    NO_LOGIN(444, "未登录"),
    OLD_PASSWORD_ERROR(555, "旧密码 错误"),
    USERNAME_OR_PSW_ERROR(1010, "账号或密码错误"),
    CODE_CAN_NOT_EMPTY(1020, "请输入 验证码"),
    SESSION_CODE_IS_EMPTY(1030, "请获取 验证码"),
    GET_PHONE_CODE_FAIL(1031, "获取验证码失败"),
    CODE_ERROR(1040, "验证码 错误"),








    private Integer code;

    private String message;

    ResultEnum(Integer code, String message) {
        this.code = code;
        this.message = message;
    }

    public Integer getCode() {
        return code;
    }

    public String getMessage() {
        return message;
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,以下是封装一个自定义异常类myexception的代码: ``` public class MyException extends Exception { public MyException() { super(); } public MyException(String message) { super(message); } public MyException(String message, Throwable cause) { super(message, cause); } public MyException(Throwable cause) { super(cause); } } ``` 这个类继承了Java中的Exception类,可以用来表示自定义的异常。它有四个构造函数,可以根据需要选择使用。其中,第一个构造函数没有参数,用来创建一个空的异常对象;第二个构造函数接受一个字符串参数,用来设置异常的详细信息;第三个构造函数接受两个参数,一个是字符串,一个是Throwable类型的对象,用来设置异常的详细信息和原因;第四个构造函数接受一个Throwable类型的对象,用来设置异常的原因。通过这些构造函数,我们可以创建不同类型的异常对象,以便在程序中进行处理。 ### 回答2: 异常是程序运行中的一种特殊情况,它会导致程序崩溃或无法正常进行。Java中提供了许多内置的异常类,如NullPointerException、ArithmeticException、IndexOutOfBoundsException等等,但有时这些内置的异常类不能满足我们的需求,我们需要自定义一些异常类来满足特定的业务需求。下面将为大家介绍如何封装一个自定义异常类myexception。 首先,我们需要定义一个继承自Exception类的myexception类。该类可以包含构造方法、属性和方法等,具体的实现方式如下: public class MyException extends Exception { private String message; // 异常信息 public MyException(String message) { super(); this.message = message; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } } 在上面的代码中,我们定义了一个自定义异常类MyException,该类继承自Exception类。在MyException类中,我们定义了一个私有的属性message来保存异常信息。我们还定义了一个构造方法,接受一个字符串参数message,用于传递异常信息。同时,我们还定义了getter和setter方法来获取和设置异常信息。 接着,我们可以在代码中使用MyException类来抛出自定义异常。例如,当我们对某个参数或变量进行检查时,如果发现它的值超出了我们所能处理的范围,就可以抛出MyException异常。具体的实现方式如下: public void doSomething(int value) throws MyException { if (value < 0) { throw new MyException("The value must be greater than 0"); } // code } 在上面的代码中,我们定义了一个名为doSomething的方法,该方法接受一个参数value。在方法内部,我们对value进行了检查,如果value小于0,则抛出自定义异常MyException,并且传递了一个异常信息。 在捕获自定义异常时,我们可以按照与捕获Java内置异常类相同的方式进行处理。具体的实现方式如下: try { // some code } catch (MyException e) { // exception handling } 在上面的代码中,我们使用try-catch语句捕获了自定义异常MyException。在catch语句块中,我们可以对自定义异常进行处理或输出异常信息等操作。 总之,自定义异常类MyException可以帮助我们更好地处理程序运行中的异常情况,提高程序的健壮性和可维护性。在实际开发中,我们可以根据具体的业务需求,封装不同的自定义异常类,以便更好地响应和处理异常情况。 ### 回答3: 自定义异常类是Java中的一种重要的异常处理方式,它可以让程序员自己定义一些非系统异常,并按照自己的需求对这些异常进行处理。而myexception就是一种自定义异常类,在Java中可以通过以下步骤来封装一个自定义异常类: 1. 创建一个继承自Exception或RuntimeException类的类,例如: ``` public class MyException extends Exception { //... } ``` 2. 在myexception类中定义异常的构造函数,通常情况下需要提供带有一个字符串参数的构造函数,用于指定异常信息,例如: ``` public MyException(String message) { super(message); } ``` 3. (可选)在myexception类中为异常添加其他方法和属性,以满足更为复杂的业务需求。 当程序中出现符合myexception类定义的异常时,可以通过try-catch语句进行异常的捕获和处理。例如: ``` try { // some code here throw new MyException("My exception message."); } catch (MyException e) { System.err.println(e.getMessage()); // other handling logic here } ``` 通过自定义异常类,可以更好地处理程序中可能出现的异常情况,避免程序因为异常信息不足而无法进行下一步操作,同时也提高了代码的可读性和可维护性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值