异常处理笔记

异常处理

1 try catch finally 块

package edu.xcdq;

public class Demo01 {
    public static void main(String[] args) {
        int divisor = 10;
        int dividend = 0;
        try{    // 试着执行代码块内容
            System.out.println( divisor / dividend );   // ArithmeticException 算数异常
        }catch (Exception e){   // 捕获异常
            e.printStackTrace();
            System.out.println("程序捕获到了对应的异常");
        }finally {  // 不管会不会出错,都会执行
            System.out.println("不管会不会出错,都会执行");
        }
        // System.out.println(divisor / dividend);

        System.out.println("啦啦啦啦,我是后续的内容");
        System.out.println("啦啦啦啦,我是后续的内容");
    }
}

2 抛出异常 throws 和 throw

package edu.xcdq;

public class Demo03 {
    public static void main(String[] args) {

    }
    // 1 可以单独声明异常  2 抛出异常的同时, 必须声明异常
    public void setSex(String sex)throws Exception{ // 声明异常
        if (!(sex.equals("男") || sex.equals("女")) ){
            throw new Exception("既不是男也不是女");
        }
    }
}

3 自定义异常

3.1 父类构造方法

package edu.xcdq;
/*
    1 需要继承自Exception
    2 需要复写无参构造方法
    3 需要复写message参数的构造方法

*/
public class SexException extends Exception {
    public SexException(){

    }
    public SexException(String message){
        super(message);
        System.out.println("性别异常");
    }
}

3.2 自定义异常

package edu.xcdq;

public class Demo04 {
    /*
        调用者的异常类型要比被调用者的异常类型”大“ Exception  >=  SexException
    */
    public static void main(String[] args)throws SexException {
        setSex("变性人");
    }

    public static void setSex(String sex)throws SexException{   // 舍命有可能有异常
        if (!(sex.equals("男") || sex.equals("女")) ){
            throw new SexException("性别既不是男又不是女");
        }
    }
}

异常处理

1 try catch finally 块

package edu.xcdq;

public class Demo01 {
    public static void main(String[] args) {
        int divisor = 10;
        int dividend = 0;
        try{    // 试着执行代码块内容
            System.out.println( divisor / dividend );   // ArithmeticException 算数异常
        }catch (Exception e){   // 捕获异常
            e.printStackTrace();
            System.out.println("程序捕获到了对应的异常");
        }finally {  // 不管会不会出错,都会执行
            System.out.println("不管会不会出错,都会执行");
        }
        // System.out.println(divisor / dividend);

        System.out.println("啦啦啦啦,我是后续的内容");
        System.out.println("啦啦啦啦,我是后续的内容");
    }
}

2 抛出异常 throws 和 throw

package edu.xcdq;

public class Demo03 {
    public static void main(String[] args) {

    }
    // 1 可以单独声明异常  2 抛出异常的同时, 必须声明异常
    public void setSex(String sex)throws Exception{ // 声明异常
        if (!(sex.equals("男") || sex.equals("女")) ){
            throw new Exception("既不是男也不是女");
        }
    }
}

3 自定义异常

3.1 父类构造方法

package edu.xcdq;
/*
    1 需要继承自Exception
    2 需要复写无参构造方法
    3 需要复写message参数的构造方法

*/
public class SexException extends Exception {
    public SexException(){

    }
    public SexException(String message){
        super(message);
        System.out.println("性别异常");
    }
}

3.2 自定义异常

package edu.xcdq;

public class Demo04 {
    /*
        调用者的异常类型要比被调用者的异常类型”大“ Exception  >=  SexException
    */
    public static void main(String[] args)throws SexException {
        setSex("变性人");
    }

    public static void setSex(String sex)throws SexException{   // 舍命有可能有异常
        if (!(sex.equals("男") || sex.equals("女")) ){
            throw new SexException("性别既不是男又不是女");
        }
    }
}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容