草庐IT

try-catch-else

全部标签

Java 隐式 try-with-resources

我想知道以下代码是否正确使用了try-with-resources。try(ResultSetrs=newQueryBuilder(connection,tableName(),getPaths(),searchQuery()).add(constraint).build().executeQuery()){while(rs.next()){beans.add(createBean(rs));}}参数不重要,重要的是:newQueryBuilder().build();返回一个PreparedStatement。我完全理解rs将被关闭,但是PreparedStatement是否也会被关

java - 没有大括号的嵌套 if-else 行为

考虑以下未格式化的嵌套if-elseJava代码if(condition1)if(condition2)action1;elseaction2;我的问题是:根据Java语言规范,else分支适用于什么?通过手动重新格式化和添加大括号,这两个哪个是正确的?block1:if(condition1){if(condition2){action1;}elseaction2;}}第2部分:if(condition1){if(condition2){action1;}}else{action2;} 最佳答案 来自JavaLanguageSpe

java - 多个 If-else 或枚举 - 哪个更可取,为什么?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭8个月前。Improvethisquestion原代码如下:publicclassFruitGrower{publicvoidgrowAFruit(Stringtype){if("wtrmln".equals(type)){//dowatermelongrowingstuff}elseif("ppl".equals(type)){//doapplegrowingstuff}elseif("pnppl".equals(type)){//

java - 在 try-catch block 中放入多少代码

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭9年前。Improvethisquestion是否有关于在try/catchblock中放入多少代码的“最佳实践”?我在下面发布了3种不同的场景。我没有在每个catchblock中包含行为,也没有包含finallyblock。这是为了提高观众的可读性。假设每个catch做不同的事情。并假设finally将关闭流。只是想为future的读者创建一个易于阅读的示例。控制,没有try/catch。为每个需要的地方编写1个try/catch。

java - 如何从 try、catch 和 finally 中返回一个值?

所以当我在try{}中执行代码块,并尝试返回一个值时,它告诉我noreturnvaluesimportorg.w3c.dom.ranges.RangeException;publicclassPg257E5{publicstaticvoidmain(String[]args){try{System.out.println(add(args));}catch(RangeExceptione){e.printStackTrace();}finally{System.out.println("Thanksforusingtheprogramkiddo!");}}publicstaticdou

java - 我应该使用 guard 子句,并尽量避免 else 子句吗?

我读过(例如从MartinFowler那里)我们应该在OOP的(短)方法中使用保护子句而不是单一返回。我还读过(从某个我不记得的地方)应该尽可能避免使用else子句。但是我的同事(我在一个只有3个人的小团队工作)强制我不要在一个方法中使用多个return,并且尽可能使用else子句,即使else中只有一个注释行block。这让我很难遵循他们的编码风格,因为例如,我无法在一个屏幕上查看一个方法的所有代码。而且我写代码的时候,必须先写guardclause,然后尝试把它转换成没有multiplereturn的形式。我错了吗?我应该怎么办? 最佳答案

java - if(null check)-else vs try catch(NullPointerException) 哪个效率更高?

下面三个函数哪个效率更高;publicStringgetmConnectedDeviceName1(){if(null!=mServerDevice){returnmServerDevice.getName();}else{returnnull;}}publicStringgetmConnectedDeviceName2(){returnmServerDevice==null?null:mServerDevice.getName();}publicStringgetmConnectedDeviceName3(){try{returnmServerDevice.getName();}ca

Java异步异常: Can I catch them?

我一直在阅读JLS,我遇到了11.1.3.AsynchronousExceptions部分我从中引用:Mostexceptionsoccursynchronouslyasaresultofanactionbythethreadinwhichtheyoccur,andatapointintheprogramthatisspecifiedtopossiblyresultinsuchanexception.Anasynchronousexceptionis,bycontrast,anexceptionthatcanpotentiallyoccuratanypointintheexecutio

java - Jersey / jackson : how to catch json mapping exception?

如果输入的json无效,我想在我的restful服务中捕获json映射异常。它抛出org.codehaus.jackson.map.JsonMappingException,但我不知道如何或在哪里捕获此异常。我想捕获此异常并发回适当的错误响应。@JsonInclude(JsonInclude.Include.NON_NULL)@Generated("org.jsonschema2pojo")@JsonPropertyOrder({"name","id"})publicclassCustomer{@JsonProperty("name")privateStringname;@JsonPr

java - 为什么 Java 7 中 String 的 switch 语句比 if else 快?

在Java7中,string对象可以在switch语句的表达式中。有人可以从officialdocumentation解释以下声明吗??TheJavacompilergeneratesgenerallymoreefficientbytecodefromswitchstatementsthatuseStringobjectsthanfromchainedif-then-elsestatements. 最佳答案 Java代码有一个类的两个版本,例如使用if-then-else:publicclassIfThenElseClass{pub