1、全局异常
在struts-config.xml文件下添加以下节点:
xml 代码
- <global-exceptions >
- <exception key="error" type="java.lang.Exception"
- path="/error.jsp" scope="request">
- </exception></global-exceptions>
- <global-forwards />
在资源文件下(扩展名为properties)下配置异常错误信息
error=change number wrong!
在Action文件下加入代码:
java 代码
- public ActionForward execute(ActionMapping mapping, ActionForm form,
- HttpServletRequest request, HttpServletResponse response)throws Exception {
- int num = 0;
- try{
- num = Integer.parseInt(request.getParameter("number"));
- }catch(Exception e){
- throw new Exception("error1");
- }
- request.setAttribute("num", num);
-
- return mapping.findForward("exceptionForward");
- }
2、局部异常
和全局异常不同之处在于struts-config.xml文件不同:将exception节点加在action下
xml 代码
- <action path="/exceptionForward" type="com.action.ExceptionForwardAction" >
- <exception key="error" type="java.lang.Exception"
- path="/error.jsp" scope="request">
- </exception>
- <forward name="exceptionForward" path="/index1.jsp"></forward></action>
分享到:
相关推荐
- **避免过度使用全局异常**:全局异常处理应该作为最后的防线,而不是替代局部的异常处理。局部处理能更精确地捕获和修复问题。 以上就是关于全局异常处理的一些基础知识,无论是在哪种编程语言中,全局异常处理...
"全局异常"是指在整个应用程序范围内设置的异常处理机制,可以捕获那些未被局部异常处理块捕获的异常。本教程将深入探讨如何在C#中实现全局异常处理,以及它对代码健壮性的重要性。 首先,让我们理解C#中的异常处理...
全局异常处理适用于整个应用,而局部异常处理则针对特定Action进行。 2. **Struts2的ExceptionMappingInterceptor** 这是Struts2处理异常的核心组件。当Action执行过程中抛出异常时,ExceptionMappingInterceptor...
1. **全局异常处理**:在Struts2的配置文件中,可以定义一个或多个`<global-exception-mappings>`标签来处理全局异常。这些映射可以指定一个特定的Action或结果来处理特定类型的异常。例如,当发生`...
在`struts.xml`配置文件中的`<global-exception-mappings>`元素定义了全局异常映射。一旦Action中抛出的异常匹配到这里的异常类型,就会跳转到相应的结果页面。例如,如果抛出的是`PasswordException`,Struts2会将...
但你也可以在每个Web应用的`WEB-INF/web.xml`或单独的Servlet中定义局部错误页面,以覆盖全局设置。 3. **Java代码中的异常处理**: - 在Servlet或JSP中,你可以使用`try-catch`语句块来捕获和处理异常。例如: `...
全局异常映射是Struts2配置文件(通常为struts.xml或struts-default.xml)中的一种机制,用于定义如何处理特定类型的异常。通过在`<package>`标签内添加`<global-exception-mappings>`标签,可以指定当特定异常发生...
因此,合理的异常处理策略是结合局部和全局的异常处理,既能保证程序的正常运行,又能提供足够的反馈信息以利于问题排查。 在【通用异常处理.key】这个文件中,可能包含了关于如何实现上述通用异常处理机制的详细...
3. **自定义异常处理**:如果需要对特定Action进行个性化的异常处理,可以在该Action的配置中添加局部异常映射。 ```xml <!-- ... --> ``` 除了声明式异常处理,Struts还支持编程式异常处理。这种方式允许在...
为了实现全局异常处理,可以设置`web.config`中的`<customErrors>`元素,如下所示: ```xml ``` 这将设定应用程序在发生错误时默认重定向到`WebForm2.aspx`页面。同时,可以在`Global.asax`中添加代码来响应所有未...
5. **回滚规则**: 全局事务中的局部事务如果出现异常,整个全局事务会被回滚,确保数据一致性。如果所有局部事务都成功,则提交全局事务。 通过以上步骤,我们可以构建一个完整的JPA开发环境,并了解如何在Spring...
可以使用`@ExceptionHandler`注解定义全局或局部的异常处理器,以便在发生特定异常时执行特定的逻辑。 5. **拦截器(Interceptor)**: - 为了实现更复杂的预处理或后处理逻辑,框架如Spring MVC允许我们定义拦截...
4. **注册表配置**:`UnhandledExceptionFilter`还会检查注册表设置来决定如何进一步处理异常。 #### 总结 通过SEH,开发者不仅能够有效地管理和响应各种运行时异常,还能提高程序的整体健壮性和用户体验。尽管SEH...
如果同时存在局部和全局异常映射,且异常类型相同,局部异常映射会覆盖全局异常映射。 例如,在给出的`struts.xml`片段中,`<global-exception-mappings>`部分定义了全局异常处理,当发生`SQLException`时转向`/...
2. **持久化状态**:全局变量可以用来保存程序运行过程中的状态,例如计数器或配置信息。 3. **减少内存消耗**:如果大量数据需要在不同函数间共享,全局变量可以避免重复存储。 使用全局变量的注意事项: 1. **副...
9. **异常处理**:可以通过`<global-exception-mappings>`在全局范围内定义异常处理,或者在Action级别定义局部异常处理。 10. **国际化支持**:Struts2支持多语言,可以通过配置资源文件来实现。在`struts....
全局配置是应用于整个应用的配置,通常包括全局常量、全局结果类型、全局拦截器和全局异常处理等。例如,你可以在这里设置Struts2的行为,如错误页面、主题样式、日期格式等。以下是一个全局常量的例子: ```xml ...
这种方式特别适用于需要共享某些配置或常量的情况。 **示例代码** (假设有一个名为`global_abc.py`的文件): ```python # global_abc.py GLOBAL_A = 10 GLOBAL_B = 20 GLOBAL_C = 30 # main.py import global_abc ...