草庐IT

catch-safeguarding

全部标签

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 - 为什么在 Java 的 try-with-resources 构造中 catch 之前调用资源的 close() 方法?

我偶然发现,是这样的。请参阅下面的示例:publicclassAutoClosableTest{publicstaticvoidmain(String[]args)throwsException{try(MyClosableinstance=newMyClosable()){if(true){System.out.println("try");thrownewException("Foo");}}catch(Exceptione){System.out.println("Catched");}finally{System.out.println("Finally");}}publics

java - 如何将字符串转换为 float 并避免在 java 中使用 try/catch?

在某些情况下,我需要将字符串转换为float或其他一些数字数据类型,但有可能得到一些不可转换的值,例如“-”或“/”,我无法验证所有值事先删除它们。我想避免在这件事上使用try/catch,有没有其他方法可以在java中进行正确的转换?类似于C#TryParse的东西? 最佳答案 我能想到的最简单的事情是java.util.Scanner。然而,这种方法需要为每个字符串创建一个新的Scanner实例。Stringdata=...;Scannern=newScanner(data);if(n.hasNextInt()){//check

java try catch 异常后还会继续执行吗

1、有try-catch语句块,并且throw在catch语句块里,那么try语句块中引发异常(报错)的那一行代码的后续代码都不执行并且catch语句块后的代码也都不执行(遇到finally除外)。(见情形一和情形二)2、有try-catch语句块,并且throw在try语句块里,那么try语句块中引发异常(报错)的那一行代码的后续代码都不执行,但是catch语句块后的代码会继续执行。(见情形三)3、有try-catch语句块,但是没有throw语句,那么try语句块中引发异常(报错)的那一行代码的后续代码都不执行,但是catch语句块后的代码会继续执行。(见情形四)4、有try-catch语

java - 在一个 catch block 中使用多个异常有什么好处?

我们都听说在Java7中我们可以这样写:try{//somethingwithfilesandIO}catch(FileNotFoundException|IOExceptionex){ex.printStackTrace();System.out.println("It'scan'tcopyfile");}代替try{//somethingwithfilesandIO}catch(FileNotFoundExceptionwx){ex.printStackTrace();}catch(IOExceptionex){ex.printStackTrace();}但是,除了更短的代码之外,

java - 为什么 try catch 中的 return 语句与 'throws' 一起工作

不起作用(编译错误:缺少返回语句)publicSqlMapClientTemplategetSqlTempl()throwsUivException,SQLException{try{SqlMapClientscl=(SqlMapClient)ApplicationInitializer.getApplicationContext().getBean("MySqlMapClient");DataSourcedsc=(DataSource)ServiceLocator.getInstance().getDataSource(PIH_EIV_ORCL);returnnewSqlMapCli

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 - 如何将 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 - 关于多个 '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