草庐IT

try-except-else

全部标签

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 - 为什么 Java 在 Exception/Throwable 类中没有 setMessage?

我无法理解为什么Java不允许在异常类型(或其父类(superclass)Throwable)创建后更改异常消息。它允许使用setStackTrace更改stackTrace而不是消息。我的用例对我来说似乎是真实的,希望有一些替代方案。用例我有一个Controller服务X,它调用比方说10个其他依赖服务。为了简化调试,如果依赖服务抛出一些异常,我们希望从服务X到其上游显示一些标识符,以便轻松识别失败的请求。为此,我们有为每个依赖项创建和设置的requestId。现在,为了避免所有依赖服务之间的重复并简化代码,我们可以创建一个通用拦截器,让我们能够在每次调用之前和之后做一些工作。有点像

java - 严重 : Exception org. springframework.web.util.Log4jConfigListener

尝试在SpringToolSuite中运行tomcat时出现以下严重异常:SEVERE:Exceptionsendingcontextinitializedeventtolistenerinstanceofclassorg.springframework.web.util.Log4jConfigListenerjava.lang.IllegalStateException:CannotsetwebapprootsystempropertywhenWARfileisnotexpandedatorg.springframework.web.util.WebUtils.setWebAppRo

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 - MyBatis 映射器直接注入(inject)到服务类中。异常(exception)情况呢?

我目前正在使用MyBatis-Spring集成框架,这是我从文档中读到的内容:Ratherthancodedataaccessobjects(DAOs)manuallyusingSqlSessionDaoSupportorSqlSessionTemplate,Mybatis-Springprovidesaproxyfactory:MapperFactoryBean.Thisclassletsyouinjectdatamapperinterfacesdirectlyintoyourservicebeans.Whenusingmappersyousimplycallthemasyouhav

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 - 修复错误 : Unreported Exception InterruptedException

我是Java新手。我刚刚在搜索如何让Java程序等待,它说使用Thread.sleep()方法。但是,当我这样做时出现错误:error:unreportedexceptionInterruptedException;mustbecaughtordeclaredtobethrown我通过在方法声明中添加throwsInterruptedException来解决这个问题,现在它可以工作了。但是,调用方法的时候,又报错了。人们说要使用throwandcatchblock,但我还不确定该怎么做。有人可以帮我吗?无论如何,Draw.java的代码(使用sleep()方法):packagegrap