reactjs—是否可以在spring中捕获定制的oraclesql触发器异常并将其传递给react?

rslzwgfq  于 2021-07-29  发布在  Java
关注(0)|答案(1)|浏览(305)

我使用namedparameterjdbctemplate将我的crud保存在oracle数据库中。我有一个触发器,它有时会在更新或删除期间抛出一个自定义异常。有没有可能在我的spring boot后端提取它的消息并将其传递给react前端?我在dao中尝试了try和catch,它说sqlexceptions不会抛出到那里

@Override
    public void delete(Integer id) {
        SqlParameterSource parameters = new MapSqlParameterSource().addValue("ID_SETTINGS", id);
            namedParameterJdbcTemplate.update(DELETE_SQL, parameters);
    }
qxgroojn

qxgroojn1#

您可能试图捕获错误的异常,应该是runtimeexception,而您正在捕获选中的异常。
如果要返回错误/堆栈跟踪,最好为未捕获的异常使用全局异常处理程序控制器,并且可以相应地返回响应。通常情况下,您不希望返回sql异常,因为这可能会导致安全问题,尽管您可能会在dev环境中返回堆栈跟踪,但会在prod中隐藏它们。但最佳做法是不将异常返回到前端,而是记录它们,并返回用户友好的错误消息。

相关问题