`

自定义 Exception

阅读更多
第一步: 定义一个Exception父类
public class BaseException extends Exception
{
    private static final long serialVersionUID = 1L;
    //异常类别  根据返回的不同数字信息得到不同的异常信息
    protected int               exceptionKey;
    //异常信息
    protected String message;

    protected Object object;   
   
    public Object getObject()
   {
       return object;
   }

   public void setObject(Object object)
   {
       this.object = object;
   }

    public String getMessage()
   {
        return message;
   }

   public void setMessage(String message)
   {
this.message = message;
   }

    public int getExceptionKey()
    {
        return this.exceptionKey;
    }

public BaseException()
    {
    }

    public BaseException(int exceptionKey)
    {
        this.exceptionKey = exceptionKey;
    }
public BaseException(String message)
    {
        this.message = message;
    }
}
第二步:然后自定义自己的异常类,继承上面的Exception父类
     public class LadingsException extends BaseException
{
static final long serialVersionUID = 1001;

final public static int UserDefined = 10000; //用户自定义错误

/**  LadingsException  */
final public static int OutQuantity = 1; //超出数量
final public static int OutWeight = 2; //超出重量
final public static int OutArea = 3; //超出面积
final public static int OutVolume = 4;//超出体积

public LadingsException(int exceptionKey)
{
super(exceptionKey);
}

public LadingsException(String message)
{
super(message);
this.exceptionKey = UserDefined;
}

public String toString()
{
return exceptionKeyToMessage();
}

public String exceptionKeyToMessage()
{
if (exceptionKey == UserDefined)
{
return message;
}
if (exceptionKey == OutQuantity)
{
return "待分配数量不足";
}

if (exceptionKey == OutArea)
{
return "待分配面积不足";
}

if (exceptionKey == OutVolume)
{
return "待分配体积不足";
}

if (exceptionKey == OutWeight)
{
return "待分配重量不足";
}

return "系统内部错误";
}

public String getMessage()
{
return exceptionKeyToMessage();
}
}
第三步使用自定义异常,在方法A通过throws LadingsException,抛到上一级中
    public  void A ()throws LadingsException{
          //调用方法B
          B();
   }
第四步在方法B中使用 throw new LadingsException(参数),抛到A中
   public  void B ()throws LadingsException{
         //判断异常是属于哪一种,然后通过LadingsException异常类的
          //构造函数,来产生异常信息
          //比如下面的就是产生  “待分配数量不足” 的异常信息
          throw new LaidngsException(LadingsException.OutQuantity);
  }
第五步从B抛到上一级A,然后在从A抛到A的上一级C中,然后在C中通过
           try{
           A();
         }catch(LaidngsException e){
              //通过e.getMessage()来获取异常信息
         }
第六步在方法C中获取到异常信息,可以通过比如Json的方式发送到前台,提示用户,该操作不能使用的原因
分享到:
评论

相关推荐

    JAVA 自定义异常 Exception

    这就是“JAVA 自定义异常 Exception”所涉及的内容。 自定义异常是在Java中通过继承`java.lang.Throwable`或其子类(如`Exception`或`Error`)来实现的。通常,我们选择继承`Exception`类,因为它用于表示程序可以...

    c# 自定义异常 Exception

    首先,自定义异常通常是通过继承`System.Exception`类或其派生类来实现的。`Exception`类是所有系统异常的基类,包含了描述错误的基本属性,如`Message`(错误消息)和`InnerException`(内部异常)。以下是一个简单...

    Oracle Exception汇总(自定义Oracle异常)

    Oracle数据库在处理错误和异常时有一套完整的机制,这些异常主要分为预定义异常和自定义异常。预定义异常是Oracle系统已经内置的一些常见错误,它们都有对应的错误代码(ORA-xxx)。下面,我们将深入探讨一些常见的...

    dubbo捕获自定义异常_dubbo异常捕获_dubbo异常_自定义异常_捕捉异常_

    在 Java 中,自定义异常通常继承自 `Exception` 或其子类。例如,你可以创建一个名为 `CustomServiceException` 的异常类,它可能包含特定的错误码和错误信息: ```java public class CustomServiceException ...

    Android代码-安卓APP自定义异常处理器

    安卓APP自定义异常处理器,Release状态下意外奔溃提示更加友好(代替系统默认的那个讨厌的对话框),不影响Debug模式下LogCat的打印。 ************************************************************************ ...

    安卓自定义崩溃异常

    自定义崩溃异常是开发者为了提高用户体验和收集调试信息而采用的一种策略。通过自定义异常,我们可以控制错误处理流程,记录详细的错误信息,并在必要时将这些信息发送到服务器进行分析。 首先,我们要了解Android...

    python自定义异常实例

    本实例是一个关于python自定义异常的实例,供大家学习和交流

    自定义mystruts

    6. **自定义Exception Handler** 异常处理是系统稳定性的关键。Struts2允许我们自定义异常处理器,通过实现`com.opensymphony.xwork2.DefaultExceptionHandler`,我们可以定制错误页面显示或者处理特定类型的异常。...

    struts 中exception的友好处理:

    4. **自定义Exception Interceptor**: 如果需要更细粒度的控制,可以创建一个自定义拦截器,处理特定的异常或者进行额外的日志记录。通过在`struts.xml`中注册这个拦截器,并将其添加到相应的Action配置中,我们...

    《Java和Android开发实战详解》第6到10章源代码-by 南邮-陈杨

    10.2 抛出异常与自定义Exception类 196 10.2.1 使用throw关键字 196 10.2.2 在方法抛出异常 197 10.2.3 自定义Exception类 199 10.3 线程的基础知识 200 10.4 创建Java的线程 201 10.4.1 实现Runnable...

    Android-鼠绘漫画非官方客户端

    开发者需要构建一套完善的错误处理机制,如使用try-catch语句、自定义Exception类、显示错误提示对话框等,确保程序在遇到错误时能稳定运行并给用户提供友好的反馈。 五、视图的状态切换 视图状态切换是Android UI...

    SpringBoot Jpa Demo

    同时,自定义Exception处理机制也被应用在这个项目中,以优雅地捕获和处理运行时异常。 首先,Spring Boot简化了JPA的配置和使用。开发者只需要在`pom.xml`中添加相应的依赖,Spring Boot会自动配置数据源、JPA供应...

    C#代码开发规范.doc

    C#代码开发规范 C#代码开发规范是指在编写C#代码时遵守的一些规则和约定,以确保代码的可读性、可维护...* 自定义Exception 遵守C#代码开发规范可以提高代码的可读性、可维护性和可扩展性,提高开发效率和代码质量。

    ESB应用Http_Gateway

    - **自定义Exception类** 自定义的Exception类可能是为了捕获和处理在处理HTTP请求过程中可能出现的异常情况,确保ESB能够优雅地处理错误,提供良好的错误反馈。 4. **工作流程** 当客户端发起HTTP请求到ESB时,...

    北京工商大学上网登陆版源码.zip

    7. **异常处理**:良好的错误处理是确保应用稳定性的基石,源码中的try-catch语句和自定义Exception类展示了如何优雅地处理运行时异常。 8. **测试**:源码中可能包含测试代码,如JUnit或Espresso测试,这有助于...

    NC Webservice开发参考

    NC 提供了多种方法来处理 Exception 异常,例如使用 try-catch 块或自定义 Exception 处理器。 1.5 发布一个带 NC 登陆认证的 Web Service 在 NC 中,可以发布一个带有登陆认证的 Web 服务,以确保只有经过身份...

    自定义异常

    在Python中,自定义异常的创建更为简单,只需定义一个新类并继承自内置的`Exception`类或其子类: ```python class CustomException(Exception): def __init__(self, message): self.message = message ``` ...

    springboot工程自定义response注解、自定义规范化返回数据结构

    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { if (handler instanceof HandlerMethod) { HandlerMethod ...

    java 自定义异常实例二

    首先,自定义异常通常是通过扩展Java内置的`Exception`类或其子类来实现的。`Exception`类是所有可抛出异常的基类,它本身继承自`Throwable`类。创建自定义异常时,我们通常会为特定的错误或业务规则定义一个新的...

    okhttp library

    1.实现get,post请求 2.支持上传,下载功能 3.支持Gson泛型解析json数据 4.使用mvc设计模式 5.支持自定义exception 6.支持自定义controller 7.封装glide图片库使用

Global site tag (gtag.js) - Google Analytics