自定义异常

Posted lusilin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自定义异常相关的知识,希望对你有一定的参考价值。

package daima;

import java.util.Scanner;

class plus1 extends Exception {          //继承Exception类
    private int a;                       //定义一个私有的整形变量,只能在本类中使用
    public plus1() {                     //无参的构造方法
        super();                          //调用父类Exception的构造方法
    }
    public plus1(String message,int a) {          //定义一个带二个参数的构造方法
        super(message);                           //调用父类Exception的带有String类型参数的构造方法
        this.a=a;                                 //赋值  
    }
    public int geta() {                           //成员方法
        return a;                                 //返回a
    }
}
class dome {                                     //在定义一个类用来抛出异常
     int div(int b,int c)throws plus1{           //定义一个成员方法div(int b,int c),并且抛出可能发生异常的成员方法
        if(c<0)
           throw new plus1("除数不能为负数!",c);       //抛出异常
           return b/c;
}}
public class plus {                             //捕捉异常
    public static void main(String[]args) {
        dome s1=new dome();    //创建dome的对象s1
        Scanner plus=new Scanner(System.in);
        System.out.println("请输入两个整数:");          //手动输入两个数据
        int n=plus.nextInt();
        int m=plus.nextInt();
        try {                                      
            int x= s1.div(n,m);
            System.out.println("x="+x);
        }
        catch(plus1 e){
            System.out.println(e.toString());
            System.out.println(e.geta());        
        }
    }
}
    

技术图片

关于toString()方法

public String toString() {
String s = getClass().getName();
String message = getLocalizedMessage();
return (message != null) ? (s + ": " + message) : s;
}

getClass()返回该对象的运行时类的java.lang.Class对象(API上的解释)   即calss 包名.类名

getName()以String形式返回次Class对象所表示的实体名称         即包名.类名

可以发现,用getName返回的比前面getClass少了个Class和一个空格。

 

以上是关于自定义异常的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段6——CSS选择器

VSCode自定义代码片段(vue主模板)

VSCode自定义代码片段——声明函数

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段——git命令操作一个完整流程

VSCode自定义代码片段8——声明函数