草庐IT

EXCEPTION

全部标签

Java无效的流头问题

这个问题在这里已经有了答案:java.io.StreamCorruptedException:invalidstreamheader:54657374(2个答案)关闭3年前。我写了一个客户端-服务器应用程序,现在我面临一个我不知道如何解决的问题:这是客户端:try{Socketsocket=newSocket(ip,port);ObjectOutputStreamooos=newObjectOutputStream(socket.getOutputStream());SendMessagemessage=newSendMessage();message.numDoc=value.num

Java 反射 : Checking the type of the method parameter at runtime

我需要检查方法第一个参数的类型是List>或不。有人能提出比将它与字符串进行比较更好的解决方案吗?Methodm=Foo.class.getMethod("m1",List.class);if(m.getGenericParameterTypes()[0].toString().equals("java.util.List>")){...}我的意思是这样的:List.class.isAssignableFrom((Class)((ParameterizedType)m.getGenericParameterTypes()[0]).getRawType()));检查它是否是一个列表。但是

java - 为什么 multi-catch RuntimeException 可以编译,而 multi-catch Exception 不编译?

在此示例中,第二个catchblock无法访问,因此我的代码无法编译。但是,如果我使LimpException扩展RuntimeException而不是Exception,它可以毫无问题地编译。为什么?publicclassFinals{publicvoidrun(){try{spit();}catch(HurtExceptione){System.out.println("");}catch(LimpExceptionex){//doesnotcompile,unreachablecodeSystem.out.println("");}}publicvoidspit()throwsH

java - 为什么抛出异常会尝试加载扩展 Exception 的类(尽管它未执行)而不是常规类

我有以下类(class)。我已经使用javac手动编译了这些类并运行了Driver类。后来删除entity.class和MyCustomException.class并运行应用程序,如下所示。javaDrivertest以下错误是关于MyCustomException丢失的,而不是关于Entity类的。所以,不清楚为什么JRE提示MyCustomException类而不是Entity类。确实我已经删除了代码thrownewMyCustomException();但我没有遇到关于Entity类的错误。Causedby:java.lang.NoClassDefFoundError:com/

java - 由于重复的 GUID,无法将数据库状态与 session org.hibernate.exception.ConstraintViolationException 同步

我使用hibernate在使用自动生成的GUID的表中插入数据,但有时插入失败并出现重复的GUID异常。例如:从Logs中,通过打印重复的GUID“0500edac-0074-4324-3436-31444231342d”,前2次尝试插入失败。所用时间如下1stattempt:08-27-201804:27:00.012,2ndattempt:08-27-201804:27:01.024,3rdattemptwasnotlogged,asitwassuccessful但在数据库中,我看到一行GUID为“0500edac-0074-4324-3436-31444231342d”,创建时间

java - Netty 异常处理 - Handler throws Exception,然后呢?

我一直在四处寻找Netty的异常处理模式,但找不到太多。某种异常处理指南会很棒。我抛出的异常被发送到exceptionCaught,但我不知道下一步该做什么。有人可以提供有关如何在Netty中处理异常的通用说明。处理从ChannelHandler抛出的异常的预期模式是什么?谢谢,马特 最佳答案 正如Norman和Veebs都提到的,在不了解您的确切要求的情况下,要给出准确的答案有点棘手……我认为以下内容提供了一种通用方法来处理您未预料到的服务器错误。它向客户端返回HTTP500“内部服务器错误”,然后关闭channel。显然,我假设

java - 在 Google Guava 中使用异常

将GoogleGuava与应该抛出异常的方法结合使用的最佳模式是什么?假设我有:publicStingsomeMethod(Integeri)throwsSomeException;我想做的是:Lists=Lists.transform(is,newFunction(){publicStringapply(Integeri){returnsomeMethod(i);}});由于异常,我无法执行上述操作。有什么好的模式来处理它吗? 最佳答案 将已检查异常作为RuntimeException传播:try{returnsomeMethod

java - 为什么会出现握手失败 (Java SSL)

我正在通过HTTPS连接到网络服务。我已经完成了所有我认为需要让它工作的事情,但最后我得到了握手失败。我发现作为一个新用户,由于“垃圾邮件保护”,我不能发布超过2个链接——thanx很多stackoverflow……无论如何这里有一个指向pastebin帖子的链接,所有链接都被拼写出来了…….所以当我在这里写“链接#1”时,它是对这些链接的引用:http://pastebin.com/y4zGNRC7我使用HttpClient(服务URL上的GET)验证了相同的行为,并实际通过CXF代理调用网络服务我正在设置keystore和信任库-我尝试了“代码中”方式(链接#1)和设置系统属性-即

java - 调用 exception.fillInStacktrace 有用吗?

我发现在创建异常Exceptione=newException()之后直接显式调用了e.fillInStacktrace()。我认为这是多余的,因为Throwable的构造函数已经调用了fillInStacktrace()。但也许我忽略了一些东西,这几行很有用:Exceptione=newException();e.fillInStackTrace();creationInfo=newCreationInfo(e.getStackTrace());(publicCreationInfo(StackTraceElement[]aStackTrace){...})我觉得在创建异常后直接额外

java - 为什么 TestNG 允许几个预期的异常?

为什么TestNG有可能检查是否抛出了几个异常?据我所知,JUnit只支持一个预期异常。考虑以下两个测试都将通过的TestNG虚拟示例:@Test(expectedExceptions={NullPointerException.class,IllegalArgumentException.class})publicvoidthrowsNullPointer(){thrownewNullPointerException();}@Test(expectedExceptions={NullPointerException.class,IllegalArgumentException.cla