美文网首页Springboot
定义一个有用的 MyBaseException

定义一个有用的 MyBaseException

作者: 光剑书架上的书 | 来源:发表于2018-04-17 15:16 被阅读48次
import java.util.ArrayList;
import java.util.List;

public class MyBaseException extends Exception {
    public MyBaseException() {
        super();
    }

    public MyBaseException(String message) {
        super(message);
    }

    public MyBaseException(String message, Throwable cause) {
        super(message, cause);
    }

    public MyBaseException(Throwable cause) {
        super(cause);
    }

    public static String getStackMsg(Throwable e) {

        StringBuffer sb = new StringBuffer();
        StackTraceElement[] stackArray = e.getStackTrace();
        sb.append(e.getClass().getName() + "\n");
        for (int i = 0; i < stackArray.length; i++) {
            StackTraceElement element = stackArray[i];
            sb.append(element.toString() + "\n");
        }
        return sb.toString();
    }

    public static List<String> getStackMsgList(Throwable e) {

        List<String> stringList = new ArrayList<>();
        StackTraceElement[] stackArray = e.getStackTrace();
        for (int i = 0; i < stackArray.length; i++) {
            StackTraceElement element = stackArray[i];
            stringList.add(
                    stackArray[i].getFileName() + "." +
                            stackArray[i].getClassName() + "." +
                            stackArray[i].getMethodName() + "." +
                            stackArray[i].getLineNumber()
            );
        }
        return stringList;
    }
}
@RequestMapping(value = "api")
@ResponseBody
public Result api() {
    Result<List<MyDto>> result = new Result();
    try {
        result.setSuccess(true);
        result.setData(api.getAll());
    } catch (Exception e) {
        result.setSuccess(false);
        result.setMsg(MyBaseException.getStackMsgList(e));
    }
    return result;
}

class Result<T> {
    T data;
    boolean success = false;
    List<String> msg;


    public T getData() {
        return data;
    }

    public void setData(T data) {
        this.data = data;
    }

    public boolean isSuccess() {
        return success;
    }

    public void setSuccess(boolean success) {
        this.success = success;
    }

    public List<String> getMsg() {
        return msg;
    }

    public void setMsg(List<String> msg) {
        this.msg = msg;
    }
}

}

相关文章

  • 定义一个有用的 MyBaseException

  • 定义“有用”

    从睡梦中苏醒过来,我迷迷糊糊的瞟了一眼窗帘,看到从从缝隙中挤出的些许微弱的亮光,闭上眼睛的我,心中一阵小窃...

  • 定义“有用”

    我在昨天的文章中写到,朋友、恋人或是家人之间的基本义务就是要对对方好,随之而来的问题是,“什么才是好?” ...

  • 【2019.1.6】思想的洗礼-知识有用与无用

    序言-有用与无用的基本定义 所有人都认为所有知识是有用的,只是这个有用是相对有用而非是绝对有用,换一个说法就是在自...

  • Linux 入门进阶中3

    1,定义一个对所有用户都生效的别名,例如:lftps=‘lftp 192.168.0.1/pub’ 思路:定义别名...

  • 第三周

    1,定义一个对所有用户都生效的命令别名,例如:lftps='lftp 172.168.0.1/pub' vim /...

  • N34036第四周

    1、定义一个对所有用户都生效的命令别名。 alias iCloud=iCloud 12.0.1 2、显示/etc/...

  • 第四周

    1.定义一个对所有用户都生效的命令别名 alias tomcat="cd /usr/local/tomcat" ...

  • 第三周作业

    1、定义一个对所有用户都生效的命令别名,例如:lftps='lftp 172.168.0.1/pub' 编辑文件/...

  • week_3_bash脚本配置与grep、find使用

    Q: 1、定义一个对所有用户都生效的命令别名,例如:lftps='lftp 172.168.0.1/pub' 2、...

网友评论

    本文标题:定义一个有用的 MyBaseException

    本文链接:https://www.haomeiwen.com/subject/yhxpkftx.html