java代码中经常碰到各种需要处理异常的时候,比如什么IOException  SQLException  NullPointException等等,在开发web项目中,遇到异常,我现在做的就是将其抛出,即在catch中throw new Exception()。这个throw new Exception也是有讲究的。

贴出异常简略图:
 
异常就分两大类:checked检查和unchecked非检查异常。
checkedException在编写代码的时候就必须要进行异常处理,uncheckedException在编写代码时可以不用处理,因为它是在程序运行时才可能会抛出异常。
 
 
拖拽可看大图。
 
一段代码中,可能会抛出多个异常,这就涉及到多重异常。这时对异常的处理就有点讲究了。
总的说来,如果异常间存在继承关系,则应该先把小异常放上面,越大的越写在后面。如果一开始就处理最大的异常,则它下面的子类在编译器中都会报错。如:
    StringBuffer sb=null;
        try {
            sb.append("1");
            System.err.println(sb.toString());
        } catch (RuntimeException e) {
            e.printStackTrace();
        }catch (NullPointerException e){
            e.printStackTrace();

}

在编译器中会给出如下错误:
Unreachable catch block for NullPointerException. It is already handled by the catch block for  RuntimeException
 NullPointerExeption无法捕获,因为已经在RuntimeException中捕获了。
 
处理异常时,必须提到异常转换和异常链。
 
异常链
 
重写方法时需要注意与原方法所抛出的异常类型一致或者是其子异常,或者不抛出异常,亦或者抛出RuntimeException异常。
 
 
异常设计的基本原则:
 
开发web项目时,遇到400,404,500等问题时,可以通过在web.xml中设置相关属性,即可跳转到指定页面
    <error-page>
        <error-code>400</error-code>
        <location>error.jsp</location>
    </error-page>

     <error-page>
         <error-code> 500 </error-code>
         <location> error.jsp </location>
     </error-page>
 
    <error-page>
         <error-code> 405 </error-code>
         <location> notfound.jsp </location>     
    </error-page>

java异常处理及400,404,500错误处理的更多相关文章

  1. apache 网页301重定向、自定义400/403/404/500错误页面

    首先简单介绍一下,.htaccess文件是Apache服务器中的一个配置文件(Nginx服务器没有),它负责相关目录下的网页配置.通过对.htaccess文件进行设置,可以帮我们实现:网页301重定向 ...

  2. HTTP状态码,400,404,500,503

    HTTP状态码(HTTP Status Code) 一些常见的状态码为: 200 - 服务器成功返回网页 400 服务器不理解请求的语法 404 - 请求的网页不存在 503 - 服务不可用 所有状态 ...

  3. 网站404,500错误页面的处理,及500异常写入errorLog日志

    1.web.xml 配置 <error-page> <error-code>404</error-code> <location>/404.jsp< ...

  4. Tomcat 禁用PUT方法, 404/500错误重定向, 网站图标

    (1) Tomcat禁用Put等不安全方法. <security-constraint> <web-resource-collection> <web-resource- ...

  5. 【thinkphp 5 在nginx 环境下路由无法生效(404 500错误 )的解决方法】

      非常惭愧的说,由于之前一直使用的是windowservice,安装apache来进行服务器布置的,这种方式也是最简单最直接的方式, 但是由于php的服务大多都是linux栈的,咱们也不能落后呀,在 ...

  6. springmvc框架通过web.xml配置404 500错误导向页

    总不能用户输错了url就弹 这玩意吧? <error-page> <error-code>404</error-code> <location>/WEB ...

  7. Tomcat更改错误页面指向,改变404,500错误页面

    在公司工作了一段时间,也被安排做了一个App,而且后台也是我来写和布置的,由于一次安全检查,需要我把tomcat默认页(管理页面)关闭,于是我只能进行默认指向变更,但是后面我又想到要是用户输入不存在的 ...

  8. 远程服务器返回错误: 404错误、远程服务器返回错误:500错误、 HttpWebResponse远程服务器返回错误:(404、500) 错误。

    现象 我们编码实现请求一个页面时,请求的代码类似如下代码: HttpWebRequest req = (HttpWebRequest)WebRequest.Create(strUrl);req.Use ...

  9. 在Tomcat中配置404自定义错误页面详解

    这篇文章主要介绍了在Tomcat中配置404自定义错误页面全解,需要的朋友可以参考下 一直使用tomcat,今天想到一个问题,自定义404错误页面, 为了获得很好的用户感受,是不应当向用户暴露404这 ...

随机推荐

  1. 51nod 1631 小鲨鱼在51nod小学

    基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 鲨鱼巨巨2.0(以下简称小鲨鱼)以优异的成绩考入了51nod小学.并依靠算法方面的特长,在班里担任了许多职务.   ...

  2. cesium-大规模人群运动测试

    环境:cesium1.57: 笔记本电脑:集成显卡+独显Navida 1060 测试内容:大规模人群运动(500人,可设置运动的路径),可行性及帧率 测试结果:21-23FPS,较为流畅:集显70%- ...

  3. Java 原型模式(克隆模式)

      Java 的设计模式有 23 种,前段时间小编已经介绍了单例模式,由于我们在学习 Spring 的时候在 bean 标签的学习中碰到了今天要讲的原型模式,那么小编就已本文来介绍下原型模式. 原型模 ...

  4. vue props 传入对象Object,如果外层更改属性,默认里面是不更新,需要使用 this.$set(this.datese1, 'xsfaDateYear1', '')

    vue props 传入对象Object,如果外层更改属性,默认里面是不更新,需要使用 this.$set(this.datese1, 'xsfaDateYear1', '')

  5. cpp代码调试,调试扑克牌的代码

    #include <iostream> #include <vector> #include <algorithm> using namespace std; cl ...

  6. 【转】 树莓派初次启动攻略for Mac

    http://blog.csdn.net/rk2900/article/details/8632713/ 树莓派初次启动攻略for Mac made by Rk 感谢浙江大学<嵌入式系统> ...

  7. Web服务器 --> 基于HTTP的网站开发

    经过几十年的发展,已经出现几个成熟的处理HTTP的知名的Web服务器.这些服务器可以解析(handle)HTTP,当Web服务器接收到一个HTTP请求时,会根据配置的内容返回一个静态HTML页面或者调 ...

  8. C08 C语言预处理命令

    目录 宏定义 文件包含 条件编译 预处理命令 C语言的预处理:在编译之前进行的处理,不进行编译. C语言的预处理功能有: 宏定义 文件包含 条件编译 预处理命令以符号“#”开头.. 宏定义 不带参数的 ...

  9. shell脚本,awk在需要的行上打打印空行。

    注解: 判断每行中是否包含字母a,包含了,就将$1的值赋值给变量a,然后判断变量a是否存在,存在打印一个空行,在将变量的值使用空变量b赋值,最后在打印输出. 结果就是在包含有字符a的行上打印一个空行.

  10. d3网址

    官网: http://d3js.com D3创始人 http://bost.ocks.org.mike 教程: http://www.dashingd3js.com/table-of-contents ...