Tag: exception处理

exception处理尝试捕获内部catch

我最近遇到了一个程序员编写的代码,他在catch中有一个try-catch语句! 请原谅我无法粘贴实际代码,但他所做的与此类似: try { //ABC Operation } catch (ArgumentException ae) { try { //XYZ Operation } catch (IndexOutOfRangeException ioe) { //Something } } 我个人觉得这是我见过的最差的代码! 在1到10的范围内,你认为我应该多久去给他一点心思,还是我过度反应? 编辑:他在捕获中实际做了什么,他正在执行一些操作,这些操作可以/应该在初始尝试失败时完成。 我的问题是拥有干净的代码和可维护性。 将第一个catch的exception委托给另一个函数或调用函数就可以了,但是添加更多代码可能会或者可能不会将exception抛入第一个catch,这是我觉得不好的。 我试图避免多个堆叠的“if-loop”语句,我发现这同样糟糕。

如何在Spring中处理DataIntegrityViolationException?

我需要在Spring 3.0应用程序中显示自定义消息。 我有一个Hibernate数据库,有几个约束。 我对如何以良好的方式处理DataIntegrityViolationException有疑问。 我想知道是否有一种方法可以在属性文件中使用消息集映射exception,因为它可以在约束validation中使用。 我能以任何方式自动处理它,或者我必须在每个控制器中捕获此exception吗?

@ControllerAdvice优于@ExceptionHandler或HandlerExceptionResolver处理exception的优点是什么?

Spring 3.2引入了@ControllerAdvice注释来处理Spring MVC应用程序中的exception。 但在此版本之前,Spring使用@ExceptionHandler或HandlerExceptionResolver来处理Spring MVC应用程序中的exception。 那么为什么Spring 3.2引入了@ControllerAdvice注释来处理exception呢? 我坚信Spring 3.2引入了@ControllerAdvice注释来解决 @ExceptionHandler或HandlerExceptionResolver 的局限性,或者使exception处理更加强大 。 任何人都可以解释@ControllerAdvice优于@ExceptionHandler或HandlerExceptionResolver处理exception的优势吗?

“投掷”做了什么以及它有什么用?

我是Java新手,刚刚遇到一个在方法中使用“Throws”关键字的教程。 我对此做了一些研究,但仍然没有真正理解它。 从我到目前为止看到的,它告诉编译器在该特定方法中可能抛出某个exception。 为什么我们需要告诉编译器呢? 我在我的方法中只使用了try-catch语句制作了许多程序,并且它运行得很好 – 当然这是管理exception的try-catch语句,对吧?

处理服务层中的Daoexception

如果我的Dao层抛出Dao特定exception,那么在我的服务层处理它们是否会引起关注? 如果是,那么我应该将exception设为通用且独立于任何层来解决它,还是有其他方法? 同样的问题适用于服务层抛出的UI层处理exception。

InputMismatchException是什么意思?

Exception in thread “main” java.util.InputMismatchException 在我使用扫描仪类的时候它对我来说意味着什么? 完整的堆栈跟踪是 Exception in thread “main” java.util.InputMismatchException at java.util.Scanner.throwFor(Unknown Source) at java.util.Scanner.next(Unknown Source) at java.util.Scanner.nextInt(Unknown Source) at java.util.Scanner.nextInt(Unknown Source) at ParseString.main(ParseString.java:9)

JSF 1.2exception处理

我正在申请中处理exception处理。 我使用try catch块来捕获代码中出现的exception,我还可以通过编写监听器并在“faces-config.xml”中注册监听器来处理超时exception。 但是我遇到了在构造函数或错误代码500,400等中捕获意外错误(例如“NullPointerException”)的问题。 我使用了“web.xml”中的标签 java.lang.Exception /sc00/ErrorPage.jsp 我尝试了很多方法来处理exception,任何人都可以帮助我找到解决方案。 我尝试处理这些exception时得到的错误如下。 我使用的是JSF 1.2,服务器是websphere 8 控制台显示以下exception。 com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0014E: Uncaught service() exception root cause Faces Servlet: javax.servlet.ServletException E com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0068E: An exception was thrown by one of the service methods of the servlet [/sc00/ErrorPage.jsp] in application [MembershipEligibilityScreensEAR]. Exception created : [java.lang.RuntimeException: FacesContext not found 我的错误页面位于/WebContent/sc00/ErrorPage.jsp中,ErrorPage.jsp没有与之关联的辅助bean。 许多解决方案让我看看Faces Servlet的URL路径,在我的web.xml中,servlet-mapping是如下 […]

在我输入finally块之前是否可以检测是否发生了exception?

在Java中,是否有一种优雅的方法来检测在运行finally块之前是否发生了exception? 处理“close()”语句时,通常需要在finally块中进行exception处理。 理想情况下,我们希望保留两个exception并将它们传播(因为它们都可能包含有用的信息)。 我能想到的唯一方法就是在try-catch-finally范围之外设置一个变量来保存对抛出exception的引用。 然后使用finally块中出现的任何内容传播“已保存”的exception。 这样做有更优雅的方式吗? 也许API调用会揭示这个? 这是我正在谈论的一些粗略代码: Throwable t = null; try { stream.write(buffer); } catch(IOException e) { t = e; //Need to save this exception for finally throw e; } finally { try { stream.close(); //may throw exception } catch(IOException e) { //Is there something better than saving the exception from the exception […]

JavaFX 8中的常规exception处理

给定一个Scene的控制器调用业务代码,该代码引发exception。 我怎样才能以一般方式处理这种exception? 我尝试了Thread.setDefaultUncaughtExceptionHandler(UncaughtExceptionHandler)方法但是没有调用它,所以我相信exception会被Thread.setDefaultUncaughtExceptionHandler(UncaughtExceptionHandler)到JavaFX框架内的某个地方。 我该怎么做才能处理此exception或至少向用户显示一些有用的信息?

在java中,如果try和catch都抛出相同的exception并最终返回该怎么办?

public class Abc { public static void main(String args[]) { System.out.println(Abc.method()); } static int method() { try { throw new Exception(); } catch(Exception e) { throw new Exception(); } finally { return 4; } } } 为什么返回值为4?