Tag: exception处理

Struts2exception处理用法?

我有下面的Action类,其中getTspNameIdMap抛出ReqMgmtExceptionexception(自定义exception)。 public String findTspNameIdMap(){ SlsReqMgmtCommonRemote slsReqMgmtCommonRemote = null; tspNameIdMap = new HashMap(); try{ slsReqMgmtCommonRemote = getSlsReqMgmtCommonRemote(); tspNameIdMap = slsReqMgmtCommonRemote.getTspNameIdMap(gmaThresholdParameters.getId().getCircleId()); } catch(ReqMgmtException rEx){ addActionError(rEx.getError()); result = “error”; return ERROR; } catch (Exception e){ addActionError(“Error in processing your request. Contact Administrator”); e.printStackTrace(); System.out.println(“[ConfigureTspThresholdAction: findTspNameIdMap Function]:In catch Inside Constructor!!”); result = “error”; return ERROR; } return SUCCESS; } […]

Java的exception处理机制是责任链设计模式的一个例子吗?

我一直在阅读关于责任链设计模式,它基本上允许请求的发送者和请求的接收者之间的解耦。 请求可以在链中传递,直到有人准备好使用该请求。 现在在Java中,当我们指定方法能够抛出Exception我们让方法的调用者处理exception。 如果它不感兴趣,它可以进一步传播链上的exception。 那么这个过程可以被引用为责任链设计模式的应用吗?

需要权威的来源,为什么你不应该抛出或捕获java.lang.Exception

我在短短一个多小时内就完成了编码标准会议,我需要快速回答这个问题。 有经验的Java程序员的共同点是,你不抛出或捕获java.lang.Exception(极少数例外 – 没有双关语意)。 你不这样做的原因是声明 catch (java.lang.Exception ex) {…} 也将捕获未经检查的exception,并且在大多数情况下,这不是预期的。 我们已经有很多遗留代码由现有团队成员编写,他们捕获java.lang.Exception的子类,记录错误,并将子类重新抛出为java.lang.Exception。 我需要说服他们 他们需要停止编写这样的代码。 需要修复使用此反模式的现有代码 2号意味着相当数量的重构。 如果我可以向Java社区重量级人物之一展示一篇文章或博客文章(即Joshua Bloch,James Gosling),它将缩短会议上的论点。 到目前为止,我的google-fu还没有发现任何事情。 有没有人知道一个受人尊敬的Java大师的文章或博客,说你不应该抛出或捕获java.lang.Exception? 非常感谢快速回答。 院长

处理spring mvc中的包装exception

我有Spring MVC和jackson。 当我开始一个不正确的请求时,Jackson映射失败并抛出UnrecognizedPropertyException 。 我想使用处理此exception @ExceptionHandler public String handle(UnrecognizedPropertyException e) { … } 但是Spring在HttpMessageConversionException包装了这个exception,所以上面的代码不起作用。 是否有可能在Spring中处理jackson特定的(或一般的库特定的)exception?

Java InputMismatchException

我有这个代码,我想捕获字母exception,但它一直有这些错误: Exception in thread “main” java.util.InputMismatchException at java.util.Scanner.throwFor(Scanner.java:840) at java.util.Scanner.next(Scanner.java:1461) at java.util.Scanner.nextInt(Scanner.java:2091) at java.util.Scanner.nextInt(Scanner.java:2050) at exercise_one.Exercise.main(Exercise.java:17) 这是我的代码: System.out.print(“Enter the number of students: “); students = input.nextInt(); while (students <= 0) { try { System.out.print("Enter the number of students: "); students = input.nextInt(); } catch (InputMismatchException e) { System.out.print("Enter the number of students"); } }

error handling程序Servlet:如何获取exception原因

我在web.xml中配置了一个错误的servlet: java.lang.Exception /ExceptionHandler 对? 在我的(通用)servlet中: doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { … … } catch (Exception e) { throw new ServletException(“some mesage”, e); } } 所以,“e”将是这种情况下的根本原因。 在我的ExceptionHandler类中,我有: doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Throwable throwable = (Throwable) request.getAttribute(“javax.servlet.error.exception”); throwable.getCause() //NULL } 这就是问题。 throwable.getCause()为null。

Spring MVC最佳实践处理控制器中不可恢复的exception

如果你有一个控制器用逻辑服务和DAO可能会抛出一个不可恢复的exception,那么处理这些方法调用的最佳做法是什么? 目前我正在研究的应用程序有非常冗长的尝试捕获方法,只是错误的错误消息,这似乎不是非常强大,我认为这个代码闻起来,是否有任何cookie切割器最佳实践处理这在spring – MVC?

抛出exception来控制流程 – 代码味道?

考虑一下这段代码(特别是Java): public int doSomething() { doA(); try { doB(); } catch (MyException e) { return ERROR; } doC(); return SUCCESS; } doB()定义为: private void doB() throws MyException 基本上, MyException仅在doB()满足某些条件(这不是灾难性的,但确实需要以某种方式提高此条件)的情况下存在,以便doSomething()知道退出时出错。 您是否发现使用exception,在这种情况下控制流量,可以接受? 或者这是代码味道? 如果是这样,你会如何重构这个?

检测内存不足错误

我想为我的系统提供一种检测是否发生内存不足exception的方法。 此练习的目的是通过JMX公开此标志并相应地采取行动(例如,通过在监控系统上配置相关警报),否则这些错误将被忽视几天。 天真的方法是为每个线程设置一个未捕获的exception处理程序 ,并检查引发的exception是否是OutOfMemoryError实例并设置相关的标志。 但是,由于以下原因,这种方法不现实: exception可能发生在任何地方,包括第三方库。 我无法阻止他们捕捉Throwable并为自己保留它。 库可以生成自己的线程,我无法为这些线程强制执行未捕获的exception处理程序。 我看到的一个可能的场景是字节码操作(例如在OutOfMemoryError之上附加某种方面),但是我不确定这是否正确的方法或者这是否可行。 我们启用了-XX:+HeapDumpOnOutOfMemoryError ,但是我没有将此视为此问题的解决方案,因为它是为其他内容设计的 – 当发生这种情况时它不提供Java回调。 有没有人这样做过? 你会如何解决或建议解决它? 欢迎任何想法。

从CompletableFuture抛出exception

我有以下代码: // How to throw the ServerException? public void myFunc() throws ServerException{ // Some code CompletableFuture a = CompletableFuture.supplyAsync(() -> { try { return someObj.someFunc(); } catch(ServerException ex) { // throw ex; gives an error here. } })); // Some code } someFunc()抛出ServerException 。 我不想在这里处理它,但是将someFunc()的exceptionsomeFunc() myFunc()调用者。