草庐IT

try-catch-rethrow

全部标签

Java io丑陋的try-finally block

是否有一种不那么丑陋的方式来处理close()异常以关闭两个流然后:InputStreamin=newFileInputStream(inputFileName);OutputStreamout=newFileOutputStream(outputFileName);try{copy(in,out);}finally{try{in.close();}catch(Exceptione){try{//eventifin.closefails,needtoclosetheoutout.close();}catch(Exceptione2){}throwe;//andthrowthe'in'e

java - IntelliJ IDE 在将 Try-Catch 与资源一起使用时出错

我正在尝试使用JDK7的“try-catchwithresources”语句;IntelliJ突出显示我的资源行,说Try-with-resourcesarenotsupportedatthislanguagelevel.当我尝试编译时,我得到:java:try-with-resourcesisnotsupportedin-source1.6(use-source7orhighertoenabletry-with-resources)我检查了我当前的项目是否启用了try-with-resources,并且我的项目正在使用JDK7(库:C:\ProgramFiles\Java\jdk1.

Java - 在 try/catch 中执行 try/catch 是不好的做法吗?

如果发生异常,我想执行一些代码。但是该代码也可以生成异常。但我从未见过有人在另一个try/catch中执行try/catch。我在做什么不好的做法,也许有更好的方法:Uriuri=Uri.parse("someurl");Intentintent=newIntent(Intent.ACTION_VIEW,uri);try{startActivity(intent);}catch(ActivityNotFoundExceptionanfe){//Makesomealerttome//Nowtrytoredirectthemtothewebversion:Uriweburi=Uri.par

Can‘t push refs to remote. Try running ‘Pull‘ first to integrate your changes. 的解决办法

问题概述关于这个问题,博主是在项目开发过程中遇到的,写完一个功能模块后,在更新提交代码时异常,报:“Can‘tpushrefstoremote.Tryrunning‘Pull‘firsttointegrateyourchanges. ”,如下图:解决办法根据错误提示内容,“GitLab客户端监测到本地有代码冲突,不能将冲突决策推送到服务端去解决,需要将代码拉取下来,在本地端进行冲突解决合并才能再次推送到远端代码服务器”,处理办法,说出来很奇特,点击错误提示框中的“OpenGitLog”或者“ShowCommandOutput ”按钮,这问题就解决了,点击以上两个按钮后,会看到同步和分支合并,如

java - 多次或一次 try catch

这个问题在这里已经有了答案:Multipletry-catchorone?(11个回答)关闭2年前.我正在清理我的一些代码,但我不确定哪条路线会更好。目前,我的大部分方法都有一个trycatchblock,它在最后处理一些单独的异常,但我认为拥有更多的trycatchblock会更好地进行维护。然而,在分解代码时,我发现我正在为同一类型的异常编写多个block。我可以看到为每个部分编写一个block的好处,因为我可以详细说明它失败的原因。我的问题是……这样做有缺点吗?会不会有性能问题或其他一些我没有看到的隐藏怪物?另外,在一个方法中处理多个异常的首选方法是什么,是否有行业标准?为了更好

java - 新的/奇怪的 Java "try()"语法?

在使用Eclipse中的自定义格式选项时,在其中一个示例代码中,我看到了如下代码:/***'try-with-resources'*/classExample{voidfoo(){try(FileReaderreader1=newFileReader("file1");FileReaderreader2=newFileReader("file2")){}}}我从未见过像这样使用try,而且我已经用Java编码9年了!有谁知道你为什么要这样做?这样做的可能用例/好处是什么?我看到的另一段代码,我认为是一个非常有用的速记,所以我也在这里分享它,它的作用很明显:/***'multi-catc

java - 如何在不引发 Java 异常的情况下从 try/catch block 中中断

我需要一种从try/catchblock的中间中断而不抛出异常的方法。类似于for循环中的break和continue的东西。这可能吗?关于抛出一个自定义异常(将其命名为“BreakContinueException”),我一直很奇怪,该异常在其catch处理程序中没有任何作用。我敢肯定这是非常扭曲的。那么,有什么我不知道的直接解决方案吗? 最佳答案 这样做的正确方法可能是通过将try-catchblock放在单独的方法中来分解方法,并使用return语句:publicvoidsomeMethod(){try{...if(condi

java - try-catch 中无限递归的混淆输出

考虑下面的代码。publicclassAction{privatestaticinti=1;publicstaticvoidmain(String[]args){try{System.out.println(i);i++;main(args);}catch(StackOverflowErrore){System.out.println(i);i++;main(args);}}}我将i值正确地提高到4338。捕获StackOverflowError输出后,如下所示。433643374338//uptothispointoutputcanunderstand433943394339//43

Java if 与 try/catch 开销

在Java中使用try/catchblock而不是ifblock是否有任何开销(假设封闭的代码不这样做)?例如,以下两个简单的字符串“安全修剪”方法的实现:publicStringtryTrim(Stringraw){try{returnraw.trim();}catch(Exceptione){}returnnull;}publicStringifTrim(Stringraw){if(raw==null){returnnull;}returnraw.trim();}如果raw输入很少null,这两种方法有什么性能差异?此外,使用tryTrim()是否是一种好的编程模式简化代码布局的方

java - 为什么 Catch(Exception) 几乎总是一个坏主意?

为什么catch(Exception)几乎总是一个坏主意? 最佳答案 因为当您捕获异常时您应该正确处理它。而且你不能期望在你的代码中处理所有类型的异常。此外,当您捕获所有异常时,您可能会得到一个无法处理的异常,并阻止堆栈中的上层代码正确处理它。一般原则是尽可能捕捉最具体的类型。 关于java-为什么Catch(Exception)几乎总是一个坏主意?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/q