草庐IT

java - 匹配器在匹配后抛出 IllegalStateException

我在使用Matches时遇到了一些奇怪的问题,希望有人能提供一些帮助。根据Java文档:publicbooleanmatches()...Ifthematchsucceedsthenmoreinformationcanbeobtainedviathestart,end,andgroupmethods.部分代码:privatestaticHashtablesplitAddress(Stringaddress){Hashtableresult=newHashtable();Matcherm=addrLong.matcher(address);if(m.matches()){result.p

java - 使用 MockMultipartHttpServletRequest 进行单元测试(在 ItemInputStream.makeAvailable 中抛出 NullPointerException)

我编写了一个转换器类,它采用HttpServletRequest并将其转换为另一种类型,该类型包含指向来自servlet请求的InputStream的指针。(这个想法是从请求处理中抽象传入的传输协议(protocol),因此我也可以从FTP编写一个类似的转换器,例如。)现在我正在尝试为此编写单元测试,但遇到了问题。我已经设法找出正确的样板来创建有效的多部分HTTP请求(使用Spring类MockMultipartHttpServletRequest和MockMultipartFile),但现在我在initialize()中得到一个NullPointerException。我的方法Upl

java - 为什么应该尝试抛出未经检查的异常而不是已检查的异常?

这个问题在这里已经有了答案:Thecaseagainstcheckedexceptions(33个答案)关闭6年前。我被告知我应该考虑在我的代码中抛出Uncheckedexception而不是Checkedexception不仅如此,而且扩展RuntimeException和我自己的。现在,我明白了两者之间的区别,但仍然不明白我为什么要那样做?如果我有这个抛出两种异常的方法头:publicstaticOptionalgetFileMd5(StringfilePath)throwsNoSuchAlgorithmException,IOException{}为什么我应该用一个(不太详细的)

Java 8 - 在 lambda 中抛出多个通用检查异常

在我正在从事的一个项目中,我发现了一个类,该类将其父类(superclass)的所有方法包装在一些精心设计的异常处理中。它看起来类似于:publicvoidmethod1()throwsExceptionA{StringexceptionString="";try{super.method1();}catch(ExceptionAe){exceptionString=//throwe;}finally{//}}publicvoidmethod2()throwsExceptionB,ExceptionC{StringexceptionString="";try{super.method2

java - 是否可以抛出 java.lang.Error?

我有一个用于Web应用程序的插件模块。如果模块没有正确加载,那么web应用程序继续运行就没有意义,并且web应用程序可能根本不会加载,我们希望这个模块始终正确初始化。如果我要抛出一个运行时异常,它会进入日志,并且会被忽略,因为应用程序无论如何都会继续,而最终用户永远不会知道......我知道只有在异常情况下才会抛出错误,它们通常与系统无法恢复的情况有关,但在这种情况下您会怎么做? 最佳答案 我经常在业务代码中使用的唯一错误是ExceptionInInitializerError.您在static初始化程序block中别无选择。但即使

java - 在 spring 中连接到 JMX 服务器抛出异常!

所以当我尝试从jconsole连接到jmx时,我得到了这个异常:Causedby:java.rmi.ConnectException:Connectionrefusedtohost:78.84.17.116;nestedexceptionis:java.net.ConnectException:Connectiontimedout:connectatsun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:601)atsun.rmi.transport.tcp.TCPChannel.createConnection(TCP

java - 抛出 ConcurrentModificationException 系统依赖

我正在使用Iterator处理一段代码,当我在Windows上从我的IDE运行该程序时,在a行得到了一个ConcurrentModificationException--LinkedListll=newLinkedList();......Iteratoriter=ll.iterator();inti=0;while(iter.hasNext()){//GrammarSectionagrammarSection=(GrammarSection)iter.next();//aStrings1=(String)iter.next();ll.remove(i);i++;}这是预料之中的,因为

java - ZipFile 抛出错误,但 ZipInputStream 能够解压缩存档

我遇到了java.util.zip.*的奇怪行为我有一个zip文件,解压后会发生以下问题ZipFilezipfile=newZipFile(file,ZipFile.OPEN_READ);这是准确的错误信息java.util.zip.ZipException:errorinopeningzipfileatjava.util.zip.ZipFile.open(NativeMethod)atjava.util.zip.ZipFile.(ZipFile.java:127)atjava.util.zip.ZipFile.(ZipFile.java:143)atcom.basware.Extra

java - 使用 Java 8 中的供应商用泛型列表填充数组抛出删除类型的 ClassCastEx b/c

我想使用Supplier和Stream.generate将通用列表作为元素填充一个数组。看起来像这样:Supplier>supplier=()->newArrayList();List[]test=(List[])Stream.generate(supplier).limit(m).toArray();错误输出为:Exceptioninthread"main"java.lang.ClassCastException:[Ljava.lang.Object;cannotbecastto[Ljava.util.List;现在如何使用Java8提供的技术用泛型类型填充数组?或者这根本不可能(还

java - 我如何使用 Maven 中其他项目的类? (抛出 ClassNotFoundException 和 NoClassDefFoundError)

我有两个Vaadin项目(我将它们命名为A和B)。两者都使用Maven来解决依赖关系,并且在同一个工作区中。我正在使用Eclipse,并且正在使用m2e-plugin。我想在项目A中使用B的一些类。在Eclipse中,我可以在没有错误/警告的情况下实例化它们,但是当我尝试运行A时,我得到一个ClassNotFoundException和一个NoClassDefFoundError通过实例化B类。A的.class文件位于...\workspace\A\target\classes而对于项目B它们位于...\workspace\B\target\classes.我一直在尝试解决这个问题,但