草庐IT

interrupted-exception

全部标签

java - BlockingQueue.take 在什么情况下会抛出中断异常?

让我们假设我有一个线程消耗另一个线程生成的项目。它的run方法如下,inQueue是一个BlockingQueuebooleanshutdown=false;while(!shutdown){try{WorkItemw=inQueue.take();w.consume();}catch(InterruptedExceptione){shutdown=true;}}此外,不同的线程将通过中断正在运行的线程来发出没有​​更多工作项的信号。如果take()不需要阻塞来检索下一个工作项,它将抛出一个中断的异常。即,如果生产者发出信号表示它已完成填充工作队列,是否有可能不小心将某些项目留在inQ

java.rmi.UnmarshalException : error unmarshalling arguments; nested exception is: java. lang.ClassNotFoundException:ServicesTableau

关于JAVARMI,我需要你的帮助,我开发了一个用于对表进行排序的示例程序。但我得到了这个异常(exception):ErreurRemoteExceptionoccurredinserverthread;nestedexceptionis:java.rmi.UnmarshalException:errorunmarshallingarguments;nestedexceptionis:java.lang.ClassNotFoundException:ServicesTableau这是我的服务器源代码:publicclassServeur{publicstaticvoidmain(St

java - Junit4 : expected=Exception not working with SPRING

我正在尝试使用@Test(expected=RuntimeException.class)注释为了测试预期的异常。我的代码如下:@Test(expected=RuntimeException.class)publicvoidtestSaveThrowsRuntimeException(){Useruser=domain.save(null);}我的保存方法像这样简单:publicUsersave(UsernewUser){if(newUser==null){thrownewRuntimeException();}//savingcodegoeshere}调试代码后,我发现代码按预期抛出

java - 为什么? "Always declare user defined exceptions as final"

我使用Java源代码分析器分析了我正在处理的代码。其中一条警告是“始终将用户定义的异常声明为最终异常”。还有许多其他没有多大意义的警告,但这个警告让我有点困惑。我正在开发一个框架,我有一个根通用异常(比如FrameworkGenericException),对于其他异常,我只是从根异常中派生它们。所以我有一个框架的异常层次结构。我可能会扩展层次结构,但我认为这个警告告诉我不要有这样的层次结构,而是单独定义它们。那么我应该走哪条路,你有什么意见? 最佳答案 这可能是他们的标准做法:如果类不应该被继承,则将类声明为final,而且他们可

java - 当你调用一个线程的 interrupt() 时会发生什么?

我想知道发生了什么它什么时候sleep?当它正在运行时,即它正在执行给定的任务。提前致谢。 最佳答案 中断一个线程是一种状态安全的方式来取消它,但是线程本身必须编写代码来注意中断。如果在该线程执行时发生.interrupt(),则抛出InterruptedException的长阻塞Java操作将抛出该异常。.interrupt()方法为该线程设置“中断”标志并中断任何IO或sleep操作。它不执行任何其他操作,因此由您的程序做出适当响应并定期通过Thread.interrupted()检查其中断标志。如果一个线程不检查中断,它就不能

java - 错误 : ORA-02289: sequence does not exist - org. hibernate.exception.SQLGrammarException:无法提取 ResultSet

我正在为员工表创建一个基本的hibernate应用程序,我在ManageEmployee类的帮助下添加、更新、删除和显示记录。实际上,ManageEmployee是我的测试类,我正在使用Employee.java和Employee.hbm.xml文件来执行上述操作。详细信息:数据库:Oracle11ghibernate版本:hibernate-release-4.3.8.FinalJava版本:Java1.8员工表详细信息:USER_IDNUMBER(15,0)否11FIRST_NAMEVARCHAR2(20BYTE)是2LAST_NAMEVARCHAR2(20BYTE)是3薪水数字(

java - 启动 Java 应用程序时出现错误 : Exception thrown by the agent : java. lang.NullPointerException

我正在使用以下命令行参数启动Java应用程序:java-Dcom.sun.management.jmxremote.port=12312\-Dcom.sun.management.jmxremote.rmi.port=12313\-Dcom.sun.management.jmxremote.authenticate=false\Main我的程序立即退出并出现以下错误:Error:Exceptionthrownbytheagent:java.lang.NullPointerException我在Windows7上使用Java8update45:javaversion"1.8.0_45"J

java - Maven -- maven安装报错: Exception in thread "main" java. lang.UnsupportedClassVersionError

这个问题在这里已经有了答案:Howtofixjava.lang.UnsupportedClassVersionError:Unsupportedmajor.minorversion(50个答案)关闭7年前。在过去的一个小时里,我一直在尝试安装和配置maven-3.3.3。当我输入时:mvn--version我在cmd中收到此错误Exceptioninthread"main"java.lang.UnsupportedClassVersionError:org/apache/maven/cli/MavenCli:Unsupportedmajor.minorversion51.0atjava

java - 为什么要扩展 Exception 类?

我遇到了一个扩展异常的类:publicclassMyExceptionextendsException{publicMyException(){super();}publicMyException(finalStringargMessage,finalThrowableargCause){super(argMessage,argCause);}publicMyException(finalStringargMessage){super(argMessage);}publicMyException(finalThrowableargCause){super(argCause);}}以这种

java - 为什么要设置 "sun.awt.exception.handler"属性呢?

下面是一些代码,用于捕获在事件调度线程上抛出的异常:packagecom.ndh.swingjunk;importjava.awt.EventQueue;importjavax.swing.JFrame;publicclassEntryPoint{publicstaticvoidmain(String[]args){Thread.setDefaultUncaughtExceptionHandler(newMyExceptionHandler());//System.setProperty("sun.awt.exception.handler",MyExceptionHandler.cl