Java异常的知识讲解

创建一个 Java 数组,然后访问不存在的数组数据,看看会抛出什么异常:

请添加图片描述

我们可以看到抛出了一个ArrayIndexOutOfBoundsException:异常:数组下标越界

执行代码 System.out.println(1 / 0),看看会抛出什么异常。

请添加图片描述

现在抛出了一个ArithmeticException: / by zero异常

Thrown when an exceptional arithmetic condition has occurred. 
For example, an integer "divide by zero" throws an instance of this class.
当出现异常的运算条件时,抛出此异常。
例如,一个整数“除以零”时,抛出此类的一个实例。

自定义异常:

package 任务5;

/**
 * @author ${范涛之}
 * @Description
 * @create 2021-11-18 0:10
 */
public class MyExpection {
    
    

    public static void main(String[] args) throws GenderException {
    
    
        Human human = new Human();
        human.setGender("牛");



    }


    public static class Human{
    
    
        static String gender;

        public static void setGender(String s) throws GenderException{
    
     //这里抛出了自己的异常

            GenderException g= new  GenderException();

            if (!s.equals("男") && !s.equals("女")){
    
    

//                throw new GenderException("");


//                throw new GenderException("你输入了错误的性别");


//                throw new GenderException(g,"你输入了错误的性别");


                throw new GenderException("你输入了错误的性别");


            }
            else {
    
    
                gender = s;

            }

        }

    }






    public static class GenderException extends Exception{
    
    

        /**
         * 构造方法1:无异常
         */
        public GenderException(){
    
    
            super();
        }

        /**
         * 构造方法二:有字符串异常
         * @param message
         */
        public GenderException(String message){
    
    
            super(message);
        }

        /**
         * 构造方法三:有字符串和Throwable类型参数,表明异常可以抛出
         * @param message
         * @param cause
         */
        public GenderException(Throwable cause,String message){
    
    
            super(message,cause);
        }

        /**
         * 构造方法四:有Throwable类型参数,表明异常可以抛出
         * @param cause
         */
        public GenderException(Throwable cause){
    
    
            super(cause);
        }






    }





}

不同的输出结果:

请添加图片描述
请添加图片描述
请添加图片描述

猜你喜欢

转载自blog.csdn.net/justleavel/article/details/121390978