⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 appexception.java

📁 大象购物管理程序
💻 JAVA
字号:
package com.comm;

import java.sql.*;

public class AppException extends Exception {
    private int id = 0;
    private String name = null;
    private String desc = null;

    public AppException(SQLException e) {
        super(e.getMessage());
        String errCode = genErrCode(e);
        setName(errCode);
        setDesc(e.getMessage());
        e = null;
    }

    public AppException(AppException e) {
        super(e.getDesc());
        this.setId(e.getId());
        this.setDesc(e.getDesc());
        this.setName(e.getName());
        e = null;
    }

    public AppException(Exception e) {
        super(e.getMessage());
        this.setDesc(e.getMessage());
    }

    public AppException(String message) {
        super(message);
        setDesc(message);
    }

    public AppException(String name, String message) {
        super(message);
        setDesc(message);
        setName(name);
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getId() {
        return id;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    public String toString() {
        StringBuffer sb = new StringBuffer();
        sb.append("[ID=");
        sb.append(this.getId());
        sb.append(",Name=");
        sb.append(this.getName());
        sb.append(",Desc=");
        sb.append(this.getDesc());
        sb.append(",Exception =");
        sb.append(super.toString());
        return sb.toString();

    }

    /**
     * database's error code convert into program's error code. (Oracle or
     * SQLserver)
     *
     * @param er SQLException
     * @return int
     */
    public String genErrCode(SQLException er) {
        String errCode;
        if (er.getMessage() == null) {
            return "";
        }

        switch (er.getErrorCode()) {
        case 1:
            errCode = "数据已经创建";
            break;
        case 54:
            errCode = "记录不能被锁住";
            break;
        case 1112:
            errCode = "记录已经改变";
            break;
        case 1401: // refered by other record
            errCode = "插入的数值过大";
            break;

        case 1438: //larger than precision
            errCode = "插入记录失败";
            break;
        case 2291: //foreign key does not exist
            errCode = "外键不存在";
            break;
        case 2292: // refered by other record
            errCode = "引用记录不能删除";
            break;
        default:
            errCode = "位置错误";
            break;
        }
        return errCode;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -