zoukankan      html  css  js  c++  java
  • 异常与错误

    异常:在Java当中,将程序执行中发生的不正常情况称之为异常

           在执行过程当中发生的异常分为两类

    1. Error:Java虚拟机无法解决的严重问题
    2. Exception:其他因编程错误或偶然的外在因素0导致的一般性问题,可以使用针对性的代码处理

     常见的异常有哪些:

    •        运行时异常
    1. ArrayIndexOutOfBounoundException:角标越界
    2. NullPointerException:空指针异常
    3. NumberFormatException:
    4. Arithmeticulous:算术异常
    5. InputMismartchException:输入类型不匹配
    •        编译时异常:
    1. IOException:-------->>>>>>>>FileNotFoundException:
    •         java中异常的处理方式:
    1. try-catch-finally:
    2. try中包含的是可能出现异常的代码,catch时可能出现的异常,当出现异常时,逐一匹配,进入catch的异常处理.处理完后,就不会再匹配后续异常的catch结构,而是退出try-catch结构,继续进行后续代码
    3. try -catch节后当中,多个catch的异常类型如果满足子父类关系,则子类声明必须在父类catch结构上面,否则报错,若不满足子父类关系,不必强求先后顺序
    4. 常见的异常处理方式:getMessage()  和   printStakeTrace()
    5. try结构中声明的变量,出了结构,就失效,不可以调用
    6. finally存放一定会被执行的代码
    try{可能出现异常的代码}
    catch(异常1 e){
    出现异常后进行的解决的操作
    } finally{最终一定要执行的代码}
    1. throws +异常类型 :采用的是抛出的方式处理的异常,但没有解决异常只是抛给了方法的调用者
     throws  可能抛出的异常类型{}
    

     

    try-catch 和throws的使用情况

         如果代码涉及到资源的关闭(流的关闭,数据库的链接关闭,socket的关闭),必须使用try-catch

          父类别重写的方法没有使用throws的方式处理异常,那么子类重写的方法也不能用throws处理异常

          子类重写的方法throws的异常类型不大于父类被重写的方法throws的异常

    我们可以自定义抛出异常,手动创建一个异常对象(throw)

        throw new RuntimeException("传入数据异常")

    throws和throw的区别:

        trows:是一个抓的过程,抓取异常,再解决异常

     throw :是一个抛的过程,new一个异常对象,抛出

    java提供的异常处理是抛抓过程:

        系统自己生成异常时抛出,或编程人员自己写个异常类,再抛出,然后再抓取异常进行处理

    如何自定义异常类:

    1. 需要继承现有的异常类
    2. 需要提供一个序列版本号:servailVersionUID.作为唯一标识
    3. 提供重载的构造器
    //需要继承于现成的继承类
    
    
    public class myException extends RuntimeException{
    //唯一标识
          static final long servailVersionUID=-3387516993129948L;
          
          public  MyEception(){
    }
         public MyException( String msg){
            super (msg);
     }
         }
    

     

     throw和throws的区别:

        先有throw后有throws

        先(throw)抛出异常对象,后(throws或try -catch)抓取处理异常对象那

  • 相关阅读:
    git 常用命令速查表
    Git常用命令备忘
    display:inline-block
    JS 封装的结构关系
    IE6,7,8 CSS HACK
    JS 观察者模式
    JS 数组迭代方法
    JS 单例模式
    JS Closure 闭包
    Currying and Uncurrying Js
  • 原文地址:https://www.cnblogs.com/ylblikestudyJava/p/12372688.html
Copyright © 2011-2022 走看看