NoSuchMethodError does not extend Exception, so if you are catching Exception, the catch block will not be entered.
However, your real problem is that you are compiling against a current version of Struts and then running against an obsolete version of Struts. HTH, Steve -----Original Message----- From: Mervin Williams [mailto:[EMAIL PROTECTED] Sent: Monday, March 03, 2003 1:58 PM To: 'Struts Users Mailing List' Subject: RE: isEmpty() Method Not Working? I put a try/catch block around the "if(!errors.isEmpty())" call, but the catch block was never entered, and the exception occurred. Below is the stack trace for the error. I do notice something strange in the stack tracke: in the "Root Cause" portion of the stack trace, the NoSuchMethodError refers to a method named "ActionMessages.isEmpty()Z". Where is the "Z" coming from - I do not have a "Z" at the end of my method call. -------------------------------------- 2003-03-03 15:48:18,909 ERROR [org.jboss.web.localhost.Engine] StandardWrapperValve[action]: Servlet.service() for servlet action threw exception javax.servlet.ServletException: Servlet execution threw an exception at org.apache.catalina.core.ApplicationFilterChain.internalDoFilte r(Applica tionFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(Applic ationFilt erChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWr apperValv e.java:260) at org.apache.catalina.core.StandardPipeline$StandardPipelineValve Context.i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeli ne.java:4 80) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardCo ntextValv e.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValve Context.i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Auth enticator Base.java:550) at org.apache.catalina.core.StandardPipeline$StandardPipelineValve Context.i nvokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.CertificatesValve.invoke(Certificate sValve.ja va:246) at org.apache.catalina.core.StandardPipeline$StandardPipelineValve Context.i nvokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeli ne.java:4 80) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext .java:241 5) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostV alve.java :180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValve Context.i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDis patcherVa lve.java:170) at org.apache.catalina.core.StandardPipeline$StandardPipelineValve Context.i nvokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportV alve.java :172) at org.apache.catalina.core.StandardPipeline$StandardPipelineValve Context.i nvokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve .java:509 ) at org.apache.catalina.core.StandardPipeline$StandardPipelineValve Context.i nvokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeli ne.java:4 80) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEng ineValve. java:174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValve Context.i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeli ne.java:4 80) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223) at org.apache.coyote.http11.Http11Processor.process(Http11Processo r.java:43 2) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler .processC onnection(Http11Protocol.java:386) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoin t.java:53 4) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(T hreadPool .java:530) at java.lang.Thread.run(Thread.java:536) 2003-03-03 15:48:19,620 ERROR [org.jboss.web.localhost.Engine] ----- Root Cause ----- java.lang.NoSuchMethodError: org.apache.struts.action.ActionMessages.isEmpty()Z at prototype_1.SearchAction.execute(SearchAction.java:272) at org.apache.struts.action.RequestProcessor.processActionPerform( RequestPr ocessor.java:446) at org.apache.struts.action.RequestProcessor.process(RequestProces sor.java: 266) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1292) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilte r(Applica tionFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(Applic ationFilt erChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWr apperValv e.java:260) at org.apache.catalina.core.StandardPipeline$StandardPipelineValve Context.i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeli ne.java:4 80) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardCo ntextValv e.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValve Context.i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Auth enticator Base.java:550) at org.apache.catalina.core.StandardPipeline$StandardPipelineValve Context.i nvokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.CertificatesValve.invoke(Certificate sValve.ja va:246) at org.apache.catalina.core.StandardPipeline$StandardPipelineValve Context.i nvokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeli ne.java:4 80) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext .java:241 5) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostV alve.java :180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValve Context.i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDis patcherVa lve.java:170) at org.apache.catalina.core.StandardPipeline$StandardPipelineValve Context.i nvokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportV alve.java :172) at org.apache.catalina.core.StandardPipeline$StandardPipelineValve Context.i nvokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve .java:509 ) at org.apache.catalina.core.StandardPipeline$StandardPipelineValve Context.i nvokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeli ne.java:4 80) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEng ineValve. java:174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValve Context.i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeli ne.java:4 80) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223) at org.apache.coyote.http11.Http11Processor.process(Http11Processo r.java:43 2) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler .processC onnection(Http11Protocol.java:386) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoin t.java:53 4) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(T hreadPool .java:530) at java.lang.Thread.run(Thread.java:536) -----Original Message----- From: p2 - apache [mailto:[EMAIL PROTECTED] Sent: Monday, March 03, 2003 3:01 PM To: 'Struts Users Mailing List' Subject: RE: isEmpty() Method Not Working? Can you put a try/catch block around your if (!errors... Let's see if this is where the exception is thrown. -----Original Message----- From: Mervin Williams [mailto:[EMAIL PROTECTED] Sent: March 3, 2003 3:45 PM To: [EMAIL PROTECTED] Subject: FW: isEmpty() Method Not Working? Every time my application encounters the ActionErrors isEmpty() message, a Servlet Exception occurs. I simply replaced the old call from "errors.empty()" to "errors.isEmpty()". If anyone has ideas as to what's going on, please help! Here is my code: -------------------------------------- try { if (stmt != null) { stmt.close(); } if (conn != null) { conn.close(); } } catch(Exception e) { target = "error"; ActionErrors errors = new ActionErrors(); errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.database.error", e.getMessage())); // Report any errors if(!errors.isEmpty()) { saveErrors(req, errors); } } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]