前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >定义一个有用的 MyBaseException

定义一个有用的 MyBaseException

作者头像
一个会写诗的程序员
发布2018-08-17 10:59:26
2220
发布2018-08-17 10:59:26
举报
文章被收录于专栏:一个会写诗的程序员的博客
代码语言:javascript
复制
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;
    }
}
代码语言:javascript
复制
@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;
    }
}

}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.04.17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档