草庐IT

try-exception

全部标签

java - 为什么 Catch(Exception) 几乎总是一个坏主意?

为什么catch(Exception)几乎总是一个坏主意? 最佳答案 因为当您捕获异常时您应该正确处理它。而且你不能期望在你的代码中处理所有类型的异常。此外,当您捕获所有异常时,您可能会得到一个无法处理的异常,并阻止堆栈中的上层代码正确处理它。一般原则是尽可能捕捉最具体的类型。 关于java-为什么Catch(Exception)几乎总是一个坏主意?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/q

java - 在java中对每个方法使用一个大的try-catch是一种已知的好习惯吗?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭9年前。Improvethisquestion我最近接受了面试,面试官要我做一个技术测试来看看我的知识。在我完成它之后,他给了我关于我是如何做到的反馈,这是我没想到的,我很感激,因为如果他们不想雇用你,很少有面试官会这样做。他告诉我,他认为我的代码不好的一件事是,我在编写的每个方法中都使用了多个try-catchblock。这引起了我的注意,因为我觉得它很有趣。我认为目前我应该制作try-catchblock,其中存在语义上可区分的代

java - 检查一个字符串是否可以在没有 try-catch 的情况下解析为 Long?

Long.parseLong("string")如果字符串无法解析为long,则会引发错误。有没有办法比使用try-catch更快地验证字符串?谢谢 最佳答案 您可以创建相当复杂的正则表达式,但这并不值得。在这里使用异常是绝对正常的。这是自然的异常(exception)情况:您假设字符串中有一个整数,但实际上还有其他东西。应该抛出异常并正确处理。如果您查看parseLong代码,您会发现有许多不同的验证和操作。如果你想在解析之前做所有这些事情,它会降低性能(如果我们正在谈论解析数百万个数字,否则没关系)。因此,如果你真的需要通过避免

java - 使用 try/catch 进行最终变量赋值

因为我相信这是一种很好的编程习惯,所以我将所有(本地或实例)变量设为final,如果它们打算只编写一次的话。但是,我注意到,当变量赋值可能引发异常时,您不能将所述变量设为final:finalintx;try{x=Integer.parseInt("someinput");}catch(NumberFormatExceptione){x=42;//Compilererror:Thefinallocalvariablexmayalreadyhavebeenassigned}有没有办法在不使用临时变量的情况下做到这一点?(或者这不是最终修饰符的正确位置吗?) 最

Java 8 : Mandatory checked exceptions handling in lambda expressions. 为什么是强制性的,而不是可选的?

我正在使用Java8中的新lambda功能,发现Java8提供的实践非常有用。但是,我想知道是否有一种good方法可以解决以下情况。假设您有一个对象池包装器,它需要某种工厂来填充对象池,例如(使用java.lang.functions.Factory):publicclassJdbcConnectionPoolextendsObjectPool{publicConnectionPool(intmaxConnections,Stringurl){super(newFactory(){@OverridepublicConnectionmake(){try{returnDriverManag

java - Spring : Exception starting filter springSecurityFilterChain

我正在尝试使用Spring3.1.2-Release编写应用程序。应用服务器是Tomcat7。当我启动服务器时,出现此错误:SEVERE:ExceptionstartingfilterspringSecurityFilterChainorg.springframework.beans.factory.NoSuchBeanDefinitionException:Nobeannamed'springSecurityFilterChain'isdefinedatorg.springframework.beans.factory.support.DefaultListableBeanFacto

spring - org.jasypt.exceptions.EncryptionOperationNotPossibleException

我将Jasypt-1.9.0与Spring3.1和Hibernate4.0.1一起使用。我的应用程序需要连接到数据库,其密码(root)以加密形式存储在应用程序的属性文件中。我上网查了一下,通过以下链接找到了方法:http://www.jasypt.org/spring31.htmlhttp://www.jasypt.org/hibernate.htmlhttp://www.jasypt.org/encrypting-configuration.html我已经按照我的要求做了以下步骤和配置:在构建路径中添加了jasypt-1.9.0和jasypt-hibernate4-1.9.0。在我

Spring Security : How do I reset SPRING_SECURITY_LAST_EXCEPTION. 消息?

当用户尝试使用不正确的凭据登录时,我能够显示SPRING_SECURITY_LAST_EXCEPTION.message(“错误凭据”)。我的登录jsp目前使用如下代码:我的问题是,当用户离开登录页面然后返回时,“BadCredentials”消息仍然存在。当用户刷新登录页面时,如何重置SPRING_SECURITY_LAST_EXCEPTION.message? 最佳答案 典型的做法是只在登录失败后才显示错误消息,其中登录失败由请求参数确定。也就是说,您将SpringSecurity配置为并将错误消息显示为但是,由于SPRING_

java - 我收到 exception-org.apache.catalina.core.ApplicationDispatcher.invoke 抛出异常 java.lang.IllegalStateException

我的服务器日志中出现以下错误,08-May-201812:00:07.460SEVERE[https-jsse-nio-8443-exec-1]org.apache.catalina.core.ApplicationDispatcher.invokeServlet.service()forservlet[jsp]threwexceptionjava.lang.IllegalStateException:getOutputStream()hasalreadybeencalledforthisresponseatorg.apache.catalina.connector.Response.

spring - 带有 HSQLDB 的 Hibernate 4.1 给出 'data exception: string data, right truncation'

我有一个很奇怪的问题,当我将somdeps升级到项目时遇到了。我现在使用以下版本:Spring:3.1.0.RELEASEhibernate:4.1.7.FinalHsqldb:2.2.8(org.hsqldb)我认为问题与文件字段有关。(Dbfile.content)堆栈跟踪:javax.persistence.PersistenceException:org.hibernate.exception.DataException:couldnotinsert:[org.project.model.Cv]atorg.hibernate.ejb.AbstractEntityManagerI