草庐IT

Try-Catch-Continue

全部标签

java - try/catch 是不是很耗资源的操作?

我听说与其抛出异常并在try/catchblock中捕获它们,不如在方法中返回null更合理,因为try/catch是消耗资源的操作。这是真的吗? 最佳答案 Try/catch仅在抛出异常时占用大量资源,否则几乎不需要。当它们使程序更干净时使用它们。返回null也可以。这取决于 关于java-try/catch是不是很耗资源的操作?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/

java - 为什么 Java multi-catch 不能处理通过子类关联的类型?

这是一段不能编译的代码:voidmultiCatch(){try{throwIOFile();}//FileNotFoundExceptionextendsIOException,hencethis//doesnotcompile("alternatives"relatedbysubclassing):catch(IOException|FileNotFoundExceptione){}}voidthrowIOFile()throwsIOException,FileNotFoundException{}如果没有通过子类关联异常类型,一切都像魅力一样。如果您将我的代码片段中的IOExce

java - 如何在 Java 8 中将 continue 放入 forEach 循环中

这个问题在这里已经有了答案:MovetonextitemusingJava8foreachloopinstream(4个答案)关闭6年前。如何在java8中的forEach循环中编写continue语句。ListnumList=Arrays.asList(10,21,31,40,59,60);numList.forEach(x->{if(x%2==0){continue;}System.out.println(x);});上面的代码给出编译时间错误说在循环外继续ListnumList=Arrays.asList(10,21,31,40,59,60);LOOP:numList.forEa

java - 如何将 catch finally 重组为 Java 8 中的一种方法?

Java8的新手,我想优化我的代码如下:publicResponsecreate(){try{...}catch(Exceptione){codeA;}finally{codeB;}}publicResponseupdate(){try{...}catch(Exceptione){codeA;}finally{codeB;}}我有很多方法使用相同的方式来捕获异常并最终执行相同的操作,是否可以用Java8中的方法替换下面的通用代码?这样我就可以优化使用此公共(public)代码的所有方法。}catch(Exceptione){codeA;}finally{codeB;}

java - 'continue' 关键字的替代项

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭8年前。Improvethisquestion我正在浏览有关continue关键字的问题以更好地理解它,我偶然发现了这一行inthisanswerThesecanbemaintenancetimebombsbecausethereisnoimmediatelinkbetweenthe"continue"/"break"andtheloopitiscontinuing/breakingotherthancontext;我有这个for循环

java - 关于多个 'catch'的问题

谁能告诉我为什么这个类的输出是'xa'?为什么另一个异常(RuntimeException和Exception)不会被捕获?publicclassTree{publicstaticvoidmain(String...args){try{thrownewNullPointerException(newException().toString());}catch(NullPointerExceptione){System.out.print("x");}catch(RuntimeExceptione){System.out.print("y");}catch(Exceptione){Sys

java - 您如何设计一个不全是 try/catch block 的服务层?

在设计SpringMVC应用程序时,@ExceptionHandler注释由我们在REST层中使用。这通过将异常处理卸载到一组半通用处理程序来极大地消除Controller方法的困惑。我们服务的基本架构是这样的:[RESTAPI][ApplicationServices][DataLayer]我相信REST层Controller不应该直接处理数据层异常,而应该只处理应用程序服务异常。但是,这意味着我所有的应用程序服务方法基本上必须如下所示:publicDomainObjectgetSomeDomainObjectById(Stringid){DomainObjectretVal=nul

java - catch 和 finally 中 return 语句的行为

publicclassJ{publicIntegermethod(Integerx){Integerval=x;try{returnval;}finally{val=x+x;}}publicstaticvoidmain(String[]args){JlittleFuzzy=newJ();System.out.println(littleFuzzy.method(newInteger(10)));}}它将返回“10”。现在我只是将ReturntypeInteger替换为StringBuilder并且Output已更改。publicclassI{publicStringBuildermet

java - 错误 : detached entity passed to persist - try to persist complex data (Play-Framework)

我在通过PlayFramework持久化数据时遇到问题。也许不可能达到那个结果,但如果它能奏效那就太好了。简单:我有一个复杂的模型(带地址的商店),我想立即更改带地址的商店并以相同的方式存储它们(shop.save())。但是错误detachedentitypassedtopersist发生了。更新历史05.1105.11使用属性mappedBy="shop"更新模型商店更新指向google用户组的链接09.11找到解决方法,但不是通用的16.11更新示例html表单,感谢@Pavel将解决方法(更新09.11)更新为通用方法,感谢@mericano121.11我放弃了寻找解决方案并等

java - catch block 是否能够捕获 Throwable(包括错误和异常)

在我的一次采访中,他们问我,是否可以像这样在catch()中编写Throwabletry{somecode}catch(Throwablet){}我说是的。它不会给出编译时错误,但如果发生Error(Throwable的子类),jvm将不会处理它,因为错误是jvm无法处理的不可逆条件。而不是他们进一步询问写Throwable有什么用。请给我适当的答复,我们可以在catch中使用Throwable吗?如果是,为什么。 最佳答案 可以捕获Throwable。是的,您还会捕获java.lang.Error的实例,这在涉及到例如OutOfM