加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 如何处理多个Route的异常

发布时间:2020-12-15 00:44:37 所属栏目:Java 来源:网络整理
导读:我正在掌握 Spark Framework,我正在尝试理解以多种路径统一处理异常的最佳方法. 目前我有许多路由,它们都按以下方式处理异常: ...catch (final Exception e) { ... response.status(418); return e.getMessage();}... 这留下了许多不足之处,主要是异常逻辑
我正在掌握 Spark Framework,我正在尝试理解以多种路径统一处理异常的最佳方法.

目前我有许多路由,它们都按以下方式处理异常:

...
catch (final Exception e) {
    ...
    response.status(418);
    return e.getMessage();
}
...

这留下了许多不足之处,主要是异常逻辑在它们之间重复.我知道它可以通过重构来改进,但我想知道是否有类似于Spring中的ExceptionHandler机制,你可以在抛出特定异常时执行一个动作,例如:

@ExceptionHandler(Exception.class)
public void handleException(final Exception e,final HttpServletRequest request) {
    ...executed for the matching exception...
}

那么,是否存在用于异常处理的Spark-esque机制?我已经检查了文档并且做得很简短.如果没有,我会继续我的重构计划.谢谢.

解决方法

你可以像这样处理异常:
get("/throwexception",(request,response) -> {
    throw new NotFoundException();
});

exception(NotFoundException.class,(e,request,response) -> {
    response.status(404);
    response.body("Resource not found");
});

从Spark docs中取得的示例.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读