草庐IT

Try-finally

全部标签

匿名内部类中的 Java 局部变量可见性 - 为什么需要 'final' 关键字?

我不明白为什么我不能总是从“监听器”或“处理程序”中访问变量。这是我的代码:ButtonbtnDownload=newButton(myparent,SWT.NONE);btnDownload.addSelectionListener(newSelectionAdapter(){@OverridepublicvoidwidgetSelected(SelectionEvente){btnDownload.setEnabled(false);//ICAN'T}});唯一的方法是使用final关键字声明它:finalButtonbtnDownload=newButton(myparent,S

匿名内部类中的 Java 局部变量可见性 - 为什么需要 'final' 关键字?

我不明白为什么我不能总是从“监听器”或“处理程序”中访问变量。这是我的代码:ButtonbtnDownload=newButton(myparent,SWT.NONE);btnDownload.addSelectionListener(newSelectionAdapter(){@OverridepublicvoidwidgetSelected(SelectionEvente){btnDownload.setEnabled(false);//ICAN'T}});唯一的方法是使用final关键字声明它:finalButtonbtnDownload=newButton(myparent,S

java - 在 finally block 中静默关闭 InputStream 而不会丢失原始异常的正确方法是什么?

我想知道下面的代码是否在finallyblock中正确关闭了InputStreamInputStreamis=newFileInputStream("test");try{for(;;){intb=is.read();...}}finally{try{is.close();}catch(IOExceptione){}}如果在is.read()期间发生异常,如果在is.close()期间发生异常,是否会忽略/抑制它? 最佳答案 最好的方法是使用Java7并使用资源尝试,或者手动执行相同的操作并将关闭时的异常添加为抑制的异常。Java7

java - 在 finally block 中静默关闭 InputStream 而不会丢失原始异常的正确方法是什么?

我想知道下面的代码是否在finallyblock中正确关闭了InputStreamInputStreamis=newFileInputStream("test");try{for(;;){intb=is.read();...}}finally{try{is.close();}catch(IOExceptione){}}如果在is.read()期间发生异常,如果在is.close()期间发生异常,是否会忽略/抑制它? 最佳答案 最好的方法是使用Java7并使用资源尝试,或者手动执行相同的操作并将关闭时的异常添加为抑制的异常。Java7

java - Java中try catch中的圆括号/括号()是什么

据我所知,我们使用trycatch如下:try{//Somecodethatmaygenerateexception}catch(Exceptionex){}//handleexceptionfinally{//closeanyopenresourcesetc.}但在我发现以下代码中try(ByteArrayOutputStreambyteArrayStreamResponse=newByteArrayOutputStream();HSLFSlideShowpptSlideShow=newHSLFSlideShow(newHSLFSlideShowImpl(Thread.current

java - Java中try catch中的圆括号/括号()是什么

据我所知,我们使用trycatch如下:try{//Somecodethatmaygenerateexception}catch(Exceptionex){}//handleexceptionfinally{//closeanyopenresourcesetc.}但在我发现以下代码中try(ByteArrayOutputStreambyteArrayStreamResponse=newByteArrayOutputStream();HSLFSlideShowpptSlideShow=newHSLFSlideShow(newHSLFSlideShowImpl(Thread.current

十个在 JavaScript 中使用 try…catch 的技巧

作为Web前端工程师,JavaScripttry…catch是我们使用的功能之一。try….catch可以捕获代码中的异常并防止应用程序崩溃。但是try…catch不仅仅只是捕获异常。在本文中,我将分享10个使用try…catch的有用技巧,让您更轻松地处理异常。1.捕获所有异常如果要捕获代码中所有可能的异常,可以使用不带参数的catch块。例如try{//codethatmaythrowanexception}catch{//codethathandlesallexceptions}这种方法将捕获所有异常,包括语法错误、运行时错误和自定义错误。但是,在生产环境中使用时,建议具体指定要捕获的异

java - 使用 try-with-resources 悄悄关闭资源

是否可以忽略使用try-with-resources语句关闭资源时引发的异常?例子:classMyResourceimplementsAutoCloseable{@Overridepublicvoidclose()throwsException{thrownewException("Couldnotclose");}publicvoidread()throwsException{}}//thismethodprintsanexception"Couldnotclose"//Iwanttoignoreitpublicstaticvoidtest(){try(MyResourcer=new

java - 使用 try-with-resources 悄悄关闭资源

是否可以忽略使用try-with-resources语句关闭资源时引发的异常?例子:classMyResourceimplementsAutoCloseable{@Overridepublicvoidclose()throwsException{thrownewException("Couldnotclose");}publicvoidread()throwsException{}}//thismethodprintsanexception"Couldnotclose"//Iwanttoignoreitpublicstaticvoidtest(){try(MyResourcer=new

java - 测试 final 字段的初始化安全性

我正在尝试简单地测试JLS所保证的最终字段的初始化安全性。这是为了我正在写的一篇论文。但是,根据我当前的代码,我无法让它“失败”。谁能告诉我我做错了什么,或者如果这只是我必须一遍又一遍地运行然后看到一些不幸的时机失败?这是我的代码:publicclassTestClass{finalintx;inty;staticTestClassf;publicTestClass(){x=3;y=4;}staticvoidwriter(){TestClass.f=newTestClass();}staticvoidreader(){if(TestClass.f!=null){inti=TestCla