追忆~似水年华 2020-06-16 15:18 采纳率: 0%
浏览 192
已采纳

JavaWeb的jsp界面怎么显示Raise_application_error里的错误信息,在Servlet中怎么获取错误代码和内容?

例如:触发器中当不满足某条件时执行Raise_application_error(-20000, '超量');
并在jsp界面中给出错误提示:超量
具体的怎么实现

  • 写回答

1条回答 默认 最新

  • syyyyyyyyyyyyyyh 2020-06-16 21:25
    关注

    自定义异常和Result工具类,如果不满足条件就抛异常,接受到异常就给Result工具类变量赋值,然后传递到jsp页面

    /**
     * 
     * @ClassName: CMSException
     * @Description: 自定义异常
     * @author: dell
     * @date: 
     */
    public class CMSException extends RuntimeException {
    
        /**
         * @fieldName: serialVersionUID
         * @fieldType: long
         * @Description: TODO
         */
        private static final long serialVersionUID = 1L;
    
        private String message;
    
        public CMSException() {
            super();
    
        }
    
        public CMSException(String message) {
            super();
            this.message = message;
        }
    
        public String getMessage() {
            return message;
        }
    
        public void setMessage(String message) {
            this.message = message;
        }
    
    /**
     * 
     * @ClassName: Result 
     * @Description: 返回统一的结果值
     * @author: charles
     * @date: 
     * @param <T>
     */
    public class CMSResult<T> {
       //返回结果的状态
        private Integer code;
        private String  msg;
        private T data;
        public Integer getCode() {
            return code;
        }
        public void setCode(Integer code) {
            this.code = code;
        }
        public String getMsg() {
            return msg;
        }
        public void setMsg(String msg) {
            this.msg = msg;
        }
        public T getData() {
            return data;
        }
        public void setData(T data) {
            this.data = data;
    
        }
    
            try {
    
                //登录成功 存入session 普通用户
                session.setAttribute("user", u);
                result.setCode(200);
                result.setMsg("恭喜登录成功");
            } catch (CMSException e) {
                result.setCode(300);
                result.setMsg(e.getMessage());
            }catch (Exception e) {
                e.printStackTrace();
                result.setCode(500);
                result.setMsg("系统崩溃,请联系管理员");
            }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥85 maple软件,solve求反函数,出现rootof怎么办?
  • ¥15 求chat4.0解答一道线性规划题,用lingo编程运行,第一问要求写出数学模型和lingo语言编程模型,第二问第三问解答就行,我的ddl要到了谁来求了
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题