草庐IT

Try-Except-Finally

全部标签

java - java try-with-resource无法与scala一起使用

在Scala应用程序中,尝试使用javaniotry-with-resource构造从文件读取行。Scala版本2.11.8Java版本1.8try(Streamstream=Files.lines(Paths.get("somefile.txt"))){stream.forEach(System.out::println);//willdobusinessprocesshere}catch(IOExceptione){e.printStackTrace();//willhandlefailurecasehere}但是编译器会抛出类似◾未找到:值(value)流try没有成功的尝试或最

java - Java中finally block 的要点是什么?

我思考下面的例子;但无法弄清楚finallyblock的重要性是什么。你能告诉我这两个代码示例的执行差异吗?现实生活中的例子也会有所帮助。示例1:try{//somecode1}catch(Exceptionex){//printexception}finally{//somecode2}示例2:try{//somecode1}catch(Exceptionex){//printexception}//somecode2 最佳答案 您提供的两个片段有很大的不同,例如当catchblock本身抛出异常时,finallyblock仍将按

java - finally block 是否有可能不执行?

这个问题在这里已经有了答案:DoesafinallyblockalwaysgetexecutedinJava?(51个答案)关闭2年前。我们知道无论是抛出异常还是捕获并处理异常,finallyblock都会被执行,所以我很好奇finallyblock有没有可能不执行。如果System.exit()在try或catch中被调用,那么finally也会被调用吗?

c# - 同时使用 catch 和 finally 的 try-catch-finally 的用例

我了解try-catch的工作原理和try-finally的工作原理,但我发现自己(通常)在两种完全不同的场景中使用它们:try-finally(或C#和VB中的using)主要用于一些中等大小的代码块,这些代码块使用了一些需要正确处理的资源。try-catch最常用的是围绕可能以非常特定的方式失败的单个语句或(作为包罗万象)在应用程序的非常高的级别,通常在某些用户界面操作的正下方。根据我的经验,try-catch-finally是合适的情况,即我想要捕获某些特定异常的block正是我在其中使用一些一次性资源的同一block非常罕见。然而,C#的语言设计者,VB和Java似乎认为这是一

java - JDK 的 try-with-resources 示例中的错误做法?

这个问题在这里已经有了答案:Correctidiomformanagingmultiplechainedresourcesintry-with-resourcesblock?(8个答案)关闭5年前。我在try-with-resources中找到了这个例子Java文档:staticStringreadFirstLineFromFile(Stringpath)throwsIOException{try(BufferedReaderbr=newBufferedReader(newFileReader(path))){returnbr.readLine();}}如果BufferedReader

java - 在 Java 6 中模拟 try-with-resources 的最佳方法是什么?

事实证明,几乎没有人正确关闭Java中的资源。程序员要么不用try-finally完全阻止,或者只输入resource.close()在finally这也是不正确的(因为Throwable来自close()可以隐藏来自tryblock的Throwable)。有时他们会放类似IOUtils.closeQuietly()的东西with仅适用于InputStream,但不适用于OutputStream.try-with-resources解决了所有这些问题,但仍有大量项目使用Java6编写。模拟try-with-resources的最佳方式是什么?在Java6中?现在我使用GuavaClos

Java Try 和 Catch IOException 必须被捕获或声明被抛出

我正在尝试使用我在thispage底部找到的一些代码.这是我为其创建的类中的代码:importjava.io.LineNumberReader;importjava.io.FileReader;importjava.io.IOException;publicclassLineCounter{publicstaticintcountLines(Stringfilename)throwsIOException{LineNumberReaderreader=newLineNumberReader(newFileReader(filename));intcnt=0;StringlineRead

Java try-with-resources 语法不规则

所以我正在研究java7的一些新特性,包括try-with-resources位。我了解它的工作原理和一切,我只是注意到用于指定资源的语法有点奇怪。try(InputStreamfis=newFileInputStream(source);OutputStreamfos=newFileOutputStream(target)){//stuff}}catch(Exceptione){//stuff}具体资源的定义:try(InputStreamfis=newFileInputStream(source);OutputStreamfos=newFileOutputStream(target

java - 为什么 Java 中的 try/catch 或 synchronized 需要语句 block ?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。Java允许某些关键字后跟语句或语句block。例如:if(true)System.out.println("true");doSystem.out.println("true");while(true);编译以及if(true){System.out.println("true");}do{System.out.println("true");}whi

java - 尝试在 finally 部分中捕获

在finally子句中编写try和catch是否被认为是糟糕的编程?我在我的主要方法中有一个我想关闭的fileInputStream。我想将.close()放在最后,所以无论如何它都会关闭。我不想在main方法中添加throws声明,因为它是main方法:P}finally{try{commandFile.close();}catch(IOExceptione){throwException(e);}}还好吗?谢谢 最佳答案 不幸的是,在finally方法中需要try/catches的模式在Java6及之前的版本中反复出现。我认为这