Java 异常

异常

  异常在java 中以类的形式存在,每个类都可以new一个对象,发生异常的时候,自动创建一个对象

  两种处理方式

    1、在方法声明的位置上,使用 throws 关键字,抛给上一级。 上报的时候,当前方法就结束

    2、使用 try...catch 语句进行异常的捕捉。如果有异常发生,try 内 异常后面的语句不执行。

      catch 可以写具体的也可以写父类型,可以写多个,多个的时候并且必须是从小到大排序

  java中异常发生之后如果一直向上抛,抛给main方法,最终抛给jvm,会中止 程序

   

  如果抛出异常,必须选择其中一个方式;

  

  throws 在方法声明的时候使用,表示上报

  throw  手动抛异常 

  try catch  finally  ; try finally 语句块

    finally 是必然会执行到的,即使 try 内有return

    System.exit(0)  退出虚拟机,这个不会执行finally

 

package javase.exception;

import java.io.FileInputStream;
import java.io.FileNotFoundException;

public abstract class ExecptionTest09 {

    public static void main(String[] args) {
        int p = m1();
        System.out.println(p); // 100
    }
    /*
        1、从上往下依次执行
        2、return 语句必须是最后执行,一旦执行,整个方法跳出
     */
    public static int m1(){
        int i = 100 ;
        try{
            return i;
        }finally {
            i++;
            System.out.println(i);
        }
    }
}

  final   : 最终的,不变的     

  finally  : 和try 一起用,表示必然执行的

  finalize() : 是标识符,是object类中的一个方法,作为方法名出现.垃圾回收器GC调用

 

自定义异常

  继承 Exception 或者 RunException

  提供两个构造方法,一个无参数的,一个带有 String 参数的

 

方法覆盖:重写之后的方法不能比重写之前的方法抛出更多的异常,可以更小更少

 

posted @ 2020-09-09 23:35  一叶扁舟,乘风破浪  阅读(117)  评论(0编辑  收藏  举报