草庐IT

Try-Finally

全部标签

java - 资源是在 finally 之前还是之后关闭?

在Java7的try-with-resources中,我不知道finallyblock和自动关闭发生的顺序。顺序是什么?BaseResourceb=newBaseResource();//notauto-closeable;mustbestop'edtry(AdvancedResourcea=newAdvancedResource(b)){}finally{b.stop();//willthishappenbeforeoraftera.close()?} 最佳答案 资源在catch或finally阻塞之前关闭。看到这个tutoria

java - 资源是在 finally 之前还是之后关闭?

在Java7的try-with-resources中,我不知道finallyblock和自动关闭发生的顺序。顺序是什么?BaseResourceb=newBaseResource();//notauto-closeable;mustbestop'edtry(AdvancedResourcea=newAdvancedResource(b)){}finally{b.stop();//willthishappenbeforeoraftera.close()?} 最佳答案 资源在catch或finally阻塞之前关闭。看到这个tutoria

java - java中的try/catch vs null检查

有时我面临我必须写一段这样的代码(通常它有更多的嵌套if和更复杂的结构,但示例就足够了)publicvoidprintIt(Object1a){if(a!=null){SubObjectb=a.getB();if(b!=null){SubObject2c=b.getC();if(c!=null){c.print();}}}}当我不需要知道什么失败了,如果某些东西是null什么都不做,那么一种方法可能是publicvoidprintIt(Object1a){try{a.getB().getC().print();}catch(NullPointerExceptione){}}第二种形式是

java - java中的try/catch vs null检查

有时我面临我必须写一段这样的代码(通常它有更多的嵌套if和更复杂的结构,但示例就足够了)publicvoidprintIt(Object1a){if(a!=null){SubObjectb=a.getB();if(b!=null){SubObject2c=b.getC();if(c!=null){c.print();}}}}当我不需要知道什么失败了,如果某些东西是null什么都不做,那么一种方法可能是publicvoidprintIt(Object1a){try{a.getB().getC().print();}catch(NullPointerExceptione){}}第二种形式是

java - 错误 "A JNI error has occurred. Please check your installation and try again in Eclipse x86 Windows 8.1"

考虑:publicclassLoginCumRegimplementsActionListener,KeyListener{privateJFrameform;privateJTextFieldtxtunm;privateJTextFieldtxtnm;privateJTextFieldtxteml;privateJButtoncmdcreate;privateJPasswordFieldtxtpass;privateJPasswordFieldtxtpassreg;privateJButtoncmdok;privateJLabellblunm;privateJLabellblpass

java - 错误 "A JNI error has occurred. Please check your installation and try again in Eclipse x86 Windows 8.1"

考虑:publicclassLoginCumRegimplementsActionListener,KeyListener{privateJFrameform;privateJTextFieldtxtunm;privateJTextFieldtxtnm;privateJTextFieldtxteml;privateJButtoncmdcreate;privateJPasswordFieldtxtpass;privateJPasswordFieldtxtpassreg;privateJButtoncmdok;privateJLabellblunm;privateJLabellblpass

c# - 如果 catch 和 finally block 都抛出异常会发生什么?

如果catch和finallyblock都抛出异常会发生什么? 最佳答案 当finallyblock抛出异常时,它将有效地隐藏catchblock抛出的异常,并将成为最终抛出的异常。因此,重要的是在捕获时记录异常,或者确保finallyblock本身不会抛出异常,否则您可能会抛出被扼杀且从未见过的异常​​。 关于c#-如果catch和finallyblock都抛出异常会发生什么?,我们在StackOverflow上找到一个类似的问题: https://stac

c# - 如果 catch 和 finally block 都抛出异常会发生什么?

如果catch和finallyblock都抛出异常会发生什么? 最佳答案 当finallyblock抛出异常时,它将有效地隐藏catchblock抛出的异常,并将成为最终抛出的异常。因此,重要的是在捕获时记录异常,或者确保finallyblock本身不会抛出异常,否则您可能会抛出被扼杀且从未见过的异常​​。 关于c#-如果catch和finallyblock都抛出异常会发生什么?,我们在StackOverflow上找到一个类似的问题: https://stac

java - 在 java 中返回 try-catch finally block 。这个例子有什么好处吗?

我对java不熟悉,最近看到一些同事写的代码让我很困惑。这是它的要点:publicresponsenewStuff(//randomdatainside){try{responseor=//givesitavaluelog.info(or.toString());returnor;}catch(Exceptione){e.printStackTrace();}finally{returnnull;}}在这里添加finallyblock真的有什么意义吗?我不能只在catchblock中添加returnnull,这将执行相同的行为,还是我错了? 最佳答案

java - 在 java 中返回 try-catch finally block 。这个例子有什么好处吗?

我对java不熟悉,最近看到一些同事写的代码让我很困惑。这是它的要点:publicresponsenewStuff(//randomdatainside){try{responseor=//givesitavaluelog.info(or.toString());returnor;}catch(Exceptione){e.printStackTrace();}finally{returnnull;}}在这里添加finallyblock真的有什么意义吗?我不能只在catchblock中添加returnnull,这将执行相同的行为,还是我错了? 最佳答案