【Java 中处理异常的 9 个最佳实践】教程文章相关的互联网学习教程文章

Java异常处理总结

异常 (Exception):发生于程序执行期间,表明出现了一个非法的运行状况。许多JDK中的方法在检测到非法情况时,都会抛出一个异常对象。例如:数组越界和被0除 ? 异常处理的目的是依据实际情况提供不同的错误应对策略与手段,使程序更稳定,更安全。 ? 异常处理的主要用途是提供准确的错误消息,解释失败的原因、位置和错误类型等,同时提供一定的恢复能力,尽可能地保证数据完整性不被破坏,并让程序能继续运行。 ? Java中的异常捕...

java-@PostConstruct和“没有Hibernate会话绑定到线程”异常【代码】

我必须在存储库中@PostConstruct做一些数据库工作:@Repository public class SomeRepositoryHibernate implements SomeRepository {private SessionFactory sessionFactory;@Autowiredpublic SomeRepositoryHibernate(SessionFactory sessionFactory) {this.sessionFactory = sessionFactory;}...@PostConstructpublic void doSomestuffWithDb() {...}}但是它失败了:org.hibernate.HibernateException: No Hibernate Session bou...

Java 异常总结

Java 程序设计语言提供了三种可抛出结构(throwable):受检异常(checked exception) 运行时异常(run-time exception) 错误(error)受检异常 在决定使用受检的异常或者是未受检的异常时,主要的原则是:如果期望调用者能够适当的恢复,对于这种情况就要使用受检异常。通过抛出受检异常,强迫调用者在一个 catch 子句中处理该异常,或者将它传播出去。 未受检异常 有两种未受检的可抛出结构:运行时异常(run-time exception) 和错误。...

java-跟踪未检查(或已检查?)异常丢失的位置【代码】

您将如何跟踪未检查的异常丢失的地方?我正在开发带有嵌入式处理视图的Swing GUI,但是在某种程度上STDERR或任何地方都不会显示异常.每次我都必须通过调试来遍历整个应用程序,直到出现错误为止.但是现在看来似乎处于一个大循环中,我没有找到原因.堆栈如下:Thread [DestroyJavaVM] (Running)Thread [AWT-Shutdown] (Running)Thread [AWT-EventQueue-0] (Running)Thread [Animation Thread] (Running)如果我暂停应用程序,则每个线程都...

java-石英计划的作业无法触发-可能未处理的异常?【代码】

我有一个使用Quartz库的具有预定作业的Web应用程序.最近,我遇到了一些工作似乎没有被解雇的情况.我做了一些阅读,显然如果作业抛出异常,Quartz调度程序将尝试再次执行作业.这是真的? 无论如何,我都基于上述陈述是正确的假设进行了一些故障排除.因此,假设我有以下代码段:try {method.invoke(object, params); } catch (ExceptionA ea) {ea.printStackTrace(); } catch (ExceptionB eb) {eb.printStackTrace(); } // and so on so f...

java-ScheduledExecutorService的异常行为【代码】

我正在尝试在正在开发的应用程序上使用ScheduledExecutorService,但是我的行为不固定,无法弄清楚我做错了什么还是已知问题.我已经尝试了文档中的示例:class BeeperControl {private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);public void beepForAnHour() {final Runnable beeper = new Runnable() {public void run() {System.out.println("beep");}};final ScheduledFuture<?> beeperHa...

java-ActiveMQ嵌入式代理,关机挂钩中的异常【代码】

使用嵌入式代理时,关闭时出现以下错误:Exception in thread "ActiveMQ ShutdownHook" java.lang.NoClassDefFoundError: org/apache/activemq/broker/BrokerService我可能配置有误吗?我使用了activemq页面上的配置: http://activemq.apache.org/how-do-i-embed-a-broker-inside-a-connection.html (底部标有“ using spring-2.0”的配置).邮件已正确传递等.因此,我不确定此错误是否无害.解决方法:嵌入ActiveMQ且未正确配置为100%...

JAVA项目常用的异常处理情况总结

周一老师讲解了JAVA中的异常处理机制,我们在进行JAVA项目开发时,经常会面对一些常见的异常处理情况,接下来我会根据课下查阅学习的资料,来进行一些总结。参考资料:https://www.cnblogs.com/Aming-/p/11772796.html1.空指针异常(java.lang.nullpointerexception) 发生该情况一般是字符串变量未初始化,数组未初始化,类对象未初始化等。还有一种情况是当该对象为空时你并没有判断是否为空值,这个错误我在之前的web习题上犯过...

JAVA项目中的常用的异常处理【图】

异常发生的原因有很多,通常包含以下几大类:用户输入了非法数据。 要打开的文件不存在。 网络通信时连接中断,或者JVM内存溢出。这些异常有的是因为用户错误引起,有的是程序错误引起的,还有其它一些是因为物理错误引起的。 要理解Java异常处理是如何工作的,你需要掌握以下三种类型的异常:检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,...

在JBoss中通过XSLT调用Java函数会引发转换器异常(在tomcat中有效)【代码】

我在Java中有一个公共静态0参数函数,试图通过Webapp中的XSLT调用它.当我在tomcat(5.5.34)中运行它时,它工作正常,但是当我在JBoss(6.1 final)中运行它时,我得到了错误TransformerException: Instance method call to method getScoreXMLTagClass requires an Object instance as first argument我想知道JBoss是否使用其他XSLT解析器-我相信我想使用Xalan,而且我听说Saxon(在此Web应用程序的某些部分中使用)可能与此类产品存在兼容性...

java-谁决定抑制哪些异常?【代码】

据我了解,Java 7的抑制异常功能是自动的.换句话说,过去在6中的finally块中发生的异常被自动抑制,以支持在资源分配时发生的异常. 因此,在此示例中,a)打开资源和b)关闭资源或c)可能都出错. 据我了解,Java 7将引发在打开时发生的异常,我们可以要求将异常排除在其他地方.try (BufferedReader inputReader = Files.newBufferedReader(Paths.get(new URI("file:///Users/me/Desktop/readme.txt")), Charset.defaultCharset())) {String i...

java-即使未引发异常,JMock也会导致JUnit ExpectedException通过【代码】

当我将JMock与JUnit ExpectedException一起使用时,即使未引发异常,测试似乎也可以通过.例如,下面的测试应该失败.但是,如果我取消对两条注释行的注释,则它会通过.难道我做错了什么?这两个组件之间是否存在不兼容?//@RunWith(JMock.class) public class JUnitJMockTest {@Rulepublic ExpectedException exception = ExpectedException.none();//Mockery context = new JUnit4Mockery();@Testpublic void test() {exception.expect(...

Java异常处理无效输入【代码】

我正在尝试Java的异常处理. 我无法从文档中了解如何执行此操作,但是我想做的是检测到无效输入,以便在默认情况下激活时我的开关抛出错误.这对我来说可能是不正确的逻辑,但我想知道是否有人可以用简单的英语将我推向正确的方向.char choice = '0'; while (choice != 'q'){printMenu();System.in.read(choice);case '1': DisplayNumAlbums();case '2': ListAllTitles();case '3': DisplayAlbumDetail();case 'q': System.out.println(...

java-继承的静态成员的异常行为【代码】

我只是在玩静态和继承,看看可以做什么和不能做什么.我之前读过,静态方法不能被覆盖,它们可以被隐藏.这就是为什么我尝试查看适用于静态成员的原因.这是一些简单的测试代码:public class ParentClass {public static String x;{ x = "In ParentClass"; } }public class ChildClass extends ParentClass {{ x = "In ChildClass"; } }现在,当我打印从对象调用的x时,一切都按预期进行:ParentClass parentClassReference = new ParentC...

java-使用ProxyFactoryBean时发生异常【代码】

我正在尝试实现ProxyFactoryBean以创建AOP代理,但出现一些错误.谁能告诉我我要去哪里错了. 代码和异常跟踪如下所示: Perfomer.javapublic interface Performer {public void perform();}Juggler.javapublic class Juggler implements Performer {private int beanBags;public Juggler(){beanBags =3;}public Juggler (int beanBags){this.beanBags=beanBags;}@Overridepublic void perform() {System.out.println("Juggling "+bea...