草庐IT

try-else

全部标签

java - 对于基于 I/O 的流,我应该在 flatMap 中使用 try-with-resource 吗?

AStream是一个AutoCloseable,如果基于I/O,应该在try-with-resourceblock中使用。通过flatMap()插入的基于I/O的中间流怎么样?示例:try(varfoos=foos()){returnfoos.flatMap(Foo::bars).toArray(Bar[]::new);}对比try(varfoos=foos()){returnfoos.flatMap(foo->{try(varbars=foo.bars()){returnbars;}}).toArray(Bar[]::new);}flatMap()文档说:Eachmappedstre

JAVA + try catch(FileNotFoundException e) 进入 catch(Exception e)?

我有一些命令可以在磁盘上创建一个文件。因为必须在其中创建文件的文件夹是动态的,所以我有一个问题(FileNotFoundExceptione)。在同一个tryblock中,我已经有了一个catch(Exceptione)block。出于某种原因,当我运行我的代码并且该文件夹尚不存在时,将使用catch(Exceptione)block,而不是FileNotFoundExceptionblock。虽然调试器很清楚(至少对我而言),但显示了FileNotFoundException:java.io.FileNotFoundException:c:\mydata\2F8890C2-13B9-

java - 名称未找到异常 : While trying to lookup 'jdbc' only when publishing from Eclipse Kepler but not Indigo

我可以使用oepe12.1.1.1.1从EclipseIndigo3.7.2将我的网络应用程序发布到OracleWeblogic12c(12.1.1)AdminServer但是,使用oepe12.1.2.2导入到EclipseKepler4.3.1中的完全相同的web应用程序无法发布,并出现以下(相当常见的)异常,我正在尝试找出原因?...NameNotFoundException:Whiletryingtolookup'jdbc.oraclexe'didn'tfindsubcontext'jdbc'.Resolved'';remainingname'jdbc/oraclexe'];L

java - Maven if-else 类行为

我在maven中有一个多模块项目,其他项目需要根据环境使用jar。我们有4个环境1.开发2.UAT3.质量保证4.产品有一个项目希望对所有三个环境(即dev、uat、QA)使用projectname-dev.jar,对PROD使用projectname-prod.jar。我在google上搜索了类似if-else逻辑的东西,我可以在maven配置文件中使用它。我仍然可以为这个特定项目创建一个新属性,并在它投入生产时将其更改为“-prod”,但这是我不想添加的额外开销。是否有任何插件可以帮助我完成上述工作,而无需增加任何类型的手动开销。谢谢 最佳答案

java - 如何检索 'try' block 中被抑制的异常?

从Java7开始,我们可以使用try-with-resources语句:staticStringreadFirstLineFromFile(Stringpath)throwsIOException{try(BufferedReaderbr=newBufferedReader(newFileReader(path))){returnbr.readLine();}}如果br.readLine()和br.close()都抛出异常,readFirstLineFromFile将throwtryblock的异常(br.readLine()的异常),以及隐式finallyblock的try-with

java - 将 Realm 与 try-with-resources 一起使用是一种好习惯吗?

很多地方建议在Activity的onCreate方法中调用Realm.getDefaultInstance(),并调用close在onDestroy中的Realm实例上(或在presenter的相应方法中)。但是,对我来说,使用Java的try-with-resources结构会更干净:try(finalRealmrealm=Realm.getDefaultInstance()){//dostuff}为什么要清洁?IMO更容易管理realm实例的狭窄范围。在生命周期的某个时刻获取实例并在另一个时刻关闭它,这让我想起了过去使用C++的日子,那时我们不得不担心在正确的时刻调用delete。

java - 将 if-else 修改为策略模式

我在java中有以下if-else分支。if(str.equals("a")){A;}elseif(str.equals("b")){B;}elseif(str.equals("c")){C;}elseif(str.length==5){D;}else{E;}如何将这段代码修改成策略模式? 最佳答案 这里是一个使用工厂的策略模式的例子:publicinterfaceStrategy{publicObject[]execute(Object[]args);}publicclassStrategyFactory{publicenumNa

java - Try/Catch 内部或外部函数

我有一个关于使用try/catch的最佳实践的非常基本的问题。我有一个像这样的简单函数(DAO):publicvoidaddVehicle(Vehiclevehicle){em.getTransaction().begin();em.persist(vehicle);em.getTransaction().commit();}并在网络服务中使用DAO功能:@WebMethod(operationName="addVehicle")publicvoidaddVehicle(Vehiclevehicle){try{vehicleDAO.addVehicle(vehicle);System.

java - 像这样嵌套 try/finally 子句安全吗?

由于这是关于try/finally子句行为的学术问题,因此我尝试使用一个非常通用的示例。像这样嵌套try/finally子句有什么危险吗?openDatabaseConnection();try{//Methodsunrelatedtocursor//...Stringcursor_id=openCursor();try{useCursor(cursor_id);}finally{closeCursor(cursor_id);}//Methodsunrelatedtocursor//...}catch(Exceptione){genericLogError();}finally{clo

java - try/catch/finally 的惊人输出?

这个问题在这里已经有了答案:Behaviourofreturnstatementincatchandfinally(8个答案)关闭8年前。我运行这段代码:publicstaticvoidmain(String[]args){System.out.println(catcher());}privatestaticintcatcher(){try{System.out.println("TRY");thrower();return1;}catch(Exceptione){System.out.println("CATCH");return2;}finally{System.out.prin