草庐IT

Try-except

全部标签

java - Junit4 : expected=Exception not working with SPRING

我正在尝试使用@Test(expected=RuntimeException.class)注释为了测试预期的异常。我的代码如下:@Test(expected=RuntimeException.class)publicvoidtestSaveThrowsRuntimeException(){Useruser=domain.save(null);}我的保存方法像这样简单:publicUsersave(UsernewUser){if(newUser==null){thrownewRuntimeException();}//savingcodegoeshere}调试代码后,我发现代码按预期抛出

java - 在 try block 中分配最终变量

非常简短的问题:有没有更优雅的方法来做到这一点:Objecttmp;try{tmp=somethingThatCanFail();}catch(Failf){tmp=null;}finalObjectmyObject=tmp;//nowIhaveafinalmyObject,whichcanbeusedinanonymousclasses 最佳答案 您可以在其自己的方法中提取值的创建:finalObjectmyObject=getObjectOrNull();publicObjectgetObjectOrNull(){try{ret

java - 为什么? "Always declare user defined exceptions as final"

我使用Java源代码分析器分析了我正在处理的代码。其中一条警告是“始终将用户定义的异常声明为最终异常”。还有许多其他没有多大意义的警告,但这个警告让我有点困惑。我正在开发一个框架,我有一个根通用异常(比如FrameworkGenericException),对于其他异常,我只是从根异常中派生它们。所以我有一个框架的异常层次结构。我可能会扩展层次结构,但我认为这个警告告诉我不要有这样的层次结构,而是单独定义它们。那么我应该走哪条路,你有什么意见? 最佳答案 这可能是他们的标准做法:如果类不应该被继承,则将类声明为final,而且他们可

java - Java Try/Catch block 的基准测试

我知道在执行程序时进入catchblock会产生一些显着的成本,但是,我想知道进入try{}block是否也有任何影响,所以我开始在谷歌中寻找答案,有很多意见,但是根本没有基准测试。我找到的一些答案是:Javatry/catchperformance,isitrecommendedtokeepwhatisinsidethetryclausetoaminimum?TryCatchPerformanceJavaJavatrycatchblocks但是他们没有用事实回答我的问题,所以我决定自己试试。这就是我所做的。我有一个这种格式的csv文件:host;ip;number;date;stat

java - 错误 : ORA-02289: sequence does not exist - org. hibernate.exception.SQLGrammarException:无法提取 ResultSet

我正在为员工表创建一个基本的hibernate应用程序,我在ManageEmployee类的帮助下添加、更新、删除和显示记录。实际上,ManageEmployee是我的测试类,我正在使用Employee.java和Employee.hbm.xml文件来执行上述操作。详细信息:数据库:Oracle11ghibernate版本:hibernate-release-4.3.8.FinalJava版本:Java1.8员工表详细信息:USER_IDNUMBER(15,0)否11FIRST_NAMEVARCHAR2(20BYTE)是2LAST_NAMEVARCHAR2(20BYTE)是3薪水数字(

java - 启动 Java 应用程序时出现错误 : Exception thrown by the agent : java. lang.NullPointerException

我正在使用以下命令行参数启动Java应用程序:java-Dcom.sun.management.jmxremote.port=12312\-Dcom.sun.management.jmxremote.rmi.port=12313\-Dcom.sun.management.jmxremote.authenticate=false\Main我的程序立即退出并出现以下错误:Error:Exceptionthrownbytheagent:java.lang.NullPointerException我在Windows7上使用Java8update45:javaversion"1.8.0_45"J

java - Maven -- maven安装报错: Exception in thread "main" java. lang.UnsupportedClassVersionError

这个问题在这里已经有了答案:Howtofixjava.lang.UnsupportedClassVersionError:Unsupportedmajor.minorversion(50个答案)关闭7年前。在过去的一个小时里,我一直在尝试安装和配置maven-3.3.3。当我输入时:mvn--version我在cmd中收到此错误Exceptioninthread"main"java.lang.UnsupportedClassVersionError:org/apache/maven/cli/MavenCli:Unsupportedmajor.minorversion51.0atjava

java - 为什么要扩展 Exception 类?

我遇到了一个扩展异常的类:publicclassMyExceptionextendsException{publicMyException(){super();}publicMyException(finalStringargMessage,finalThrowableargCause){super(argMessage,argCause);}publicMyException(finalStringargMessage){super(argMessage);}publicMyException(finalThrowableargCause){super(argCause);}}以这种

java - 当 99% 的时间对象不为空时,空检查与 try/catch

通常我更喜欢空检查。但在当前情况下,我知道大多数情况下我的if条件都会通过,并且很少有对象可能为null的合法情况。此外,负载很大(大约500万次调用/小时)现在我试图从性能角度找出哪种方法更好。已查try/catchvsnullcheckinjava但我的情况很独特。还检查了Whichisfaster,trycatchorif-elseinjava(WRTperformance)但是这一个和上面的都在通用的上下文中,在这些上下文中,通过/失败比率的知识是不可用的。publicvoidprocess(Jobjob){//...somecodewhichprocessesjobSubJo

java - try-with-resources 在哪里用 InputStreamReader 包装流?

我可能想多了,但我只是写了代码:try(InputStreamin=ModelCodeGenerator.class.getClassLoader().getResourceAsStream("/model.java.txt")){modelTemplate=newSimpleTemplate(CharStreams.toString(newInputStreamReader(in,"ascii")));}这意味着InputStreamReader永远不会关闭(但在这种情况下我们知道它的关闭方法只是关闭底层的InputStream。)可以这样写:try(InputStreamReade