如何在react中显示sqlexception消息?

ercv8c1e  于 2021-07-29  发布在  Java
关注(0)|答案(0)|浏览(338)

我有一个React前端,java后端和oracle数据库。我有一个触发器(在删除之前),如果我删除了一个“错误”的条目,它会引发一个自定义异常。我希望此消息显示在react中。但是,我无法捕获sql异常(ide说它们从未抛出),我只能看到“请求失败,状态代码为500”。我该怎么办?道:

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

控制器:

  1. @DeleteMapping("/{id}")
  2. public ResponseEntity<?> delete(@PathVariable("id") Integer id) throws RuntimeException {
  3. log.info("Request for delete settings {}", id);
  4. try{
  5. Settings settings = settingsService.findById(id);
  6. settingsService.delete(settings.getId());
  7. log.info("SUCCESS: {} deleted.", settings.getId());
  8. return new ResponseEntity<>(settings.getId() + " deleted successfully.", HttpStatus.NO_CONTENT);
  9. } catch (RuntimeException e) {
  10. System.out.println("CAUSE Controller: "+e.getCause().getMessage());
  11. throw new RuntimeException("Error during deletion: " + e.getCause().getMessage());
  12. }
  13. }

axios公司:

  1. delete(id) {
  2. return axios.delete(`${BASE_URL}/${id}`, ApiService.getAuthHeader());
  3. }

我在我的组件中将错误消息设置为state。我已经试着去抓,再抓,什么都没变。有没有在axios中读取任何oracle异常的示例?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题