草庐IT

java - java中的异常,重新抛出

这个问题在这里已经有了答案:WhyRe-throwExceptions?(13个答案)关闭9年前。在一些遗留代码中,我看到了这一点,一个过于宽泛的异常被捕获,然后再次抛出,这是一个好的做法吗?throwe;是重新抛出相同的异常,还是创建一个新异常?catch(Exceptione){StringBuildersb=newStringBuilder("Oops.Somethingwentwrongwithid:");sb.append(id);sb.append(".Exceptionis:");sb.append(e.toString());System.out.println(sb.

java - jTDS JDBC 驱动程序 : getNString() throws error

我正在使用jtDSJDBC驱动程序,当我调用ResultSet.getNString(index);时,出现以下异常:run:Exceptioninthread"main"java.lang.AbstractMethodError:net.sourceforge.jtds.jdbc.JtdsResultSet.getNString(I)Ljava/lang/String;atjavasql.ProductsController.PrePopulate(ProductsController.java:51)atjavasql.ProductsController.(ProductsCon

java - 如果我将变量声明为其抽象父类(super class),Scala 的 @throws 注释将在 javac 中被忽略

在Java中,如果原始抽象方法不存在异常(重写方法不抛出异常),则不能指定重写抽象方法抛出。但是在Scala你可以做到这一点,因为它没有检查异常。很好,但是如果您使用@throws注释应该会提示Java编译器正在发生的事情,对吗?鉴于此Scala代码:packagemyscalaabstractclassSFoo{defbar():Unit}classSFoobarextendsSFoo{@throws[Exception]overridedefbar():Unit={thrownewException("hithere")}}我有两个不同的Java程序,其中一个将在运行时编译并运行到

java - 我可以在 Javadoc 中对同一个异常使用多个 @throws 标记吗?

如果我的应用程序由于多种原因抛出相同的异常,我可以使用多个@throwsjavadoc标记吗?例如:@throwsUserExceptionifissue1happened@throwsUserExceptionifissue2happened@throwsUserExceptionifissue3happenedJavaDoc标准禁止吗? 最佳答案 它在java6,7和8中有效。请参阅文档:Javadoc6Javadoc7Javadoc8Multiple@throwstagscanbeusedinagivendoccommentf

Java unchecked/checked 异常说明

我一直在阅读有关未检查和已检查问题的信息,没有任何在线资源真正清楚地说明两者的区别以及何时使用两者。据我了解,它们都是在运行时抛出的,它们都表示超出逻辑预期范围的程序状态,但必须显式捕获已检查的异常,而未检查的则不会。我的问题是,为了论证的缘故,假设我有一个除以两个数字的方法doubledivide(doublenumerator,doubledenominator){returnnumerator/denominator;}和一个需要在某处除法的方法voidfoo(){doublea=divide(b,c);}谁负责检查分母为零的情况,应该检查还是不检查异常(忽略Java的内置除法检

java - 从一个方法中抛出多个异常

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion如何从一个方法中同时抛出多个异常?示例:publicvoiddoA()throwsException1,Exception2{thrownewException1("test1");thrownewException2("test2");}如何实现这样的功能?编辑:一个条件同时抛出Exception1和Exception2。可能的?这只是一个测试抛出异常的演示文件。

java - 如何在单个 throw java docs 标记中有多个异常?

我正在尝试在我的代码中添加JavaDoc。我需要在一次抛出中添加多个异常。当我在下面添加时,它只识别NullPointerException而不是IllegalArgumentException。有什么方法可以在单个throw标记中提供多个异常,以便当我将鼠标放在方法上时它可以识别这两种异常?@throwsNullPointerException,IllegalArgumentExceptionwheninvaliduserId,timeoutispassed或者我需要这样做?至此,我重复相同的评论两次。@throwsNullPointerExceptionwheninvaliduse

java - Optional in orElse-Branch throws Exception

这个问题在这里已经有了答案:Java8'sorElsenotworkingasexpected(1个回答)关闭6年前。所以我在使用Optionals时遇到了一个奇怪的行为。我想知道这是否真的是一个有意的“功能”或什么……奇怪……这是给定的例子:我有一个带有Optional的方法,我想在其orElse中评估另一个可选值。如果另一个Optional不存在,我将引发IllegalArgumentException:firstOptionalVar.orElse(secondOptionalVar.orElseThrow(IllegalArgumentException::new));现在,如

java - Junit4 + Spring 2.5 : Asserts throw "NoClassDefFoundError"

我一直在使用Spring在Junit4中编写测试代码,我得到了这个有趣的行为:如果我的测试是这样通过的,那么一切都很好:@TestpublicvoidtruthTest(){assertTrue(true);//Ok}但是,如果我的测试失败了:@TestpublicvoidtruthTest(){assertTrue(false);//ERROR}然后我收到了一个丑陋而神秘的堆栈跟踪,而不是测试失败,就是这样:http://pastie.org/429912对于这个丑陋的转储感到抱歉,但这是我必须解释问题的唯一数据(为了便于阅读,我“粘贴”了它)我真的很纳闷,有没有人遇到过这种问题?提

java - 处理多个流中的所有异常

我希望将我的程序异常发送给以下每个,最好是同时发送:启动它的控制台(不一定)一个贵一个txt文件。我怎样才能做到这一点?我的尝试:System.setErr(PrintStreamerr)会将所有异常转发到新流。我无法说明更多虽然是一个流。调用System.setErr(PrintStreamerr)在手写的OutputStream上:"YoucanwriteyourownstreamclassthatforwardstomultiplestreamsandcallSystem.setOutonaninstanceofthatclass"–JeffreyBosboom我找到了一种方法来