手动处理异常的使用

在程序运行过程中,不免遇到一些错误,这时候就要对错误进行一些处理,使得错误能够更友好的展示给用户。所以在这介绍一下手动错误处理的使用:

1、建立错误处理程序的类,继承自RuntimeException ,如下

public class ApplicationException extends RuntimeException {
    public ApplicationException() {
    }
    public ApplicationException(String message) {
        super(message);
    }
    public ApplicationException(Throwable cause) {
        super(cause);
    }
    public ApplicationException(String message, Throwable cause) {
        super(message, cause);
    }
    public ApplicationException(String message, Throwable cause,
            boolean enableSuppression, boolean writableStackTrace) {
        super(message, cause, enableSuppression, writableStackTrace);
    }
}

2、错误处理配置

    <!-- 错误跳转页面的配置 -->

     <error-page>
         <exception-type>com.bjpowernode.drp.util.ApplicationException</exception-type>
         <location>/error.jsp</location>
     </error-page>  

3、错误处理程序error.jsp(简单拦截)

<div align="center"><p align="left"><span class="STYLE1">错误信息:</div>
    <div><%=exception.getMessage()%></div>

4、除此之外,还有对一些错误码的如理,如下:

1)配置文件中对错误码的配置

<!-- 错误跳转页面的配置 -->
     <error-page>
         <error-code>404</error-code>
         <location>/http_error.jsp</location>
     </error-page>
     <error-page>
         <error-code>500</error-code>
         <location>/http_error.jsp</location>
     </error-page>  

2)错误处理页面http_error.jsp的处理

        <body>
            <%
                Integer errorCode=(Integer)request.getAttribute("javax.servlet.error.status_code");
                 //当分别遇到错误码为404和500时,分别跳转到相应的错误处理页面进行处理

                if (errorCode==404){
                    response.sendRedirect(request.getContextPath()+ "/404.jsp");
                }else if (errorCode==500){
                    response.sendRedirect(request.getContextPath()+ "/500.jsp");
                }
            %>

        </body>

3)错误处理页面处理

如果是404:<body> 未找到请求的页面</body>

如果是500:<body>系统出现错误,请与系统管理员联系!</body>

时间: 2024-08-09 05:47:01

手动处理异常的使用的相关文章

云平台中节点异常如何考虑迁移因素

在云平台中物理节点异常是否立即迁移到其他可用资源节点?还是人为干预? 手动恢复异常节点的云主机...? 自动迁移实现不难,难就难在如何定位故障?物理机异常有N种假设: 网络故障:交换机端口异常,广播风暴... 这种现象将会导致多节点异常?如果这种故障实现自动迁移将会带来意外风险 服务异常:MQ 消息积压,磁盘写满,将会导致所有节点无法正常通信,如果这种故障实现自动迁移带来意外风险 软件异常:后端存储节点服务down ,monitor 异常,将会导致云主机无法正常work, 如何定位VM 故障,是

iOS_Xcode如何准确定位到产生异常的出错代码

当应用程序出现异常而导致崩溃时, 可能光标只提示异常出现在主函数代码处, 这种情况下,即使看了日志, 也可能仍不清楚具体是哪一句代码产生了异常. 因此,需要手动设置异常断点, 调试器会在异常抛出的瞬间暂停程序的执行, 将程序准确定位到出现异常的那一行代码了. 如图所示: 异常断点添加过程如下:

swift 中异常的处理方法

swift 中什么时候需要处理异常,在调用系统某个方法的时,该方法最后有一个throws 说明该方法会抛出异常,如果一个方法抛出异常,那么需要对该异常进行处理 swift 异常处理提供了三种方法 方式一: try  ,程序员手动处理异常 do { let regx = try NSRegularExpression(pattern: pattern, options: .CaseInsensitive) } catch { //系统给我们提供了一个临时常量 error //在这里处理异常 pri

javaweb异常提示信息统一处理(使用springmvc,附源码)

一.前言 后台出现异常如何友好而又高效地回显到前端呢?直接将一堆的错误信息抛给用户界面,显然不合适. 先不考虑代码实现,我们希望是这样的: (1)如果是页面跳转的请求,出现异常了,我们希望跳转到一个异常显示页面,如下: 当然,这里的界面不够美观,但是理论是这样的. (2)如果是ajax请求,那么我们,希望后台将合理的错误显示返回到ajax的回调函数里面,如下: $.ajax({ type: "post", url: "<%=request.getContextPath(

Python学习笔记-异常

Python的运行时错误称为异常 1.语法错误:软件的结构上有错误而导致不能被解释器解释或不能被编译器编译. 2.逻辑错误:由于不完整或不合法的输入所致,也可能是逻辑无法生存.计算或者输出结果需要的过程无法执行等. Python异常是一个对象,表示错误或意外情况 在python检测到一个错误时,将触发一个异常 1.python可以通过异常传导机制传递一个异常对象,发出一个异常情况出现的信号 2. 程序员也可以在代码中手动触发异常 python异常也可以理解为:程序出现了错误而在正常控制流以外采取

Python 九、Python异常

一.python异常 1.Python异常 python运行时发生错误称作异常 语法错误:软件的结构上有错误而导致不能被解释器解释或不能被编译器编译 逻辑错误:由于不完整或不合法的输入所致,也可能是逻辑无法生成.计算或者输出结果需要的过程无法执行等 Python异常是一个对象,表示错误或意外情况 在Python检测到一个错误时,将触发一个异常 Python可以通过异常传导机制传递一个异常对象,发出一个异常情况出现的信号 程序员也可以在代码中手动触发异常 Python异常也可以理解为:程序出现了错

Python异常

异常的概念: Python运行时的错误 语法错误:软件结构上错误而导致不能被解释器解释或不能被编译器编译 逻辑错误:由于不完整或不合法的输入导致,也可能是逻辑无法生成,计算或者输出结果需 要的过程无法执行等 Python的异常是一个对象,表示错误或者意外情况 在Python检测到一个错误时,将触发一个异常 Python可以通过异常传导机制传递一个异常对象,发出一个异常情况出现的信号 程序员也可以在代码中手动触发异常 Python的异常也可以理解为:程序出现了错误而在正常控制流之外采取行为 一.解

javaweb+spring 项目集成异常的处理

在web项目开发中,一个系统应该要考虑到异常情况的处理,并且应该当异常发生时应该需要记录相应的异常日志,对于用户而言则不能直接抛出异常,需要考虑到用户的体验: 以下就介绍基于spring框架的基础上的异常处理: 1:如何将异常优雅地显示给用户? 如果将一连串的java报错展示给用户,对用户而言是没有意义的,并且也是危险的: 1)定义错误代码:这里以一个枚举类来封装用户错误代码:ErrorCode: public enum ErrorCode { NULL_OBJ("LUO001",&q

iOS_Xcode怎样准确定位到产生异常的出错代码

当应用程序出现异常而导致崩溃时, 可能光标仅仅提示异常出如今主函数代码处,例如以下图所看到的: 这样的情况下.即使看了日志. 也可能仍不清楚详细是哪一句代码产生了异常. 因此,须要手动设置异常断点. 调试器会在异常抛出的瞬间暂停程序的运行. 将程序准确定位到出现异常的那一行代码了. 如图所看到的: 异常断点加入步骤例如以下: