异常与错误

异常:在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)抓取处理异常对象那

原文地址:https://www.cnblogs.com/ylblikestudyJava/p/12372688.html