自定义抛出异常简单实例"/>
Java自定义抛出异常简单实例
/*** 自定义异常*Java中定义的异常有限,如果想描述程序中特有的异常情况,就需要自定义异常。*summary:* 1、在Java中允许用户自定义异常,但自定义的异常类必须继承自Exception或其子类。* 2、throw关键字用于在方法中声明抛出异常的实例对象,其语法格式如下:* throw Exception异常对象*/
class MyException extends Exception {private int number;public MyException(String message) {super(message);}public MyException(String message, int number) {super(message);this.number = number;}public int getNumber() {return number;}
}
public class Example19 {public static void main(String[] args) {try {divide(20, 0);} catch (MyException my) {System.out.println("你给的除数是:" + my.getNumber() + ",而我们要求是:"+ my.getMessage());}}public static int divide(int a, int b) throws MyException {if (b == 0) {throw new MyException("除数不能为零", b);} else {return a / b;}}
}
/*** 自定义异常类* (1)编写自定义异常类MyException,该类继承自Exception类,* 类中只有含一个字符串参数msg的构造方法,* 构造方法中只有一条语句super(msg)——调用父类的构造方法。* (2)编写自定义类person,类中只有两个私有的变量,一个是字符串类型的name,* 另一个是整型变量age;有两个公有方法getAge()和setAge(int age),* 其中setAge(int age)的功能是把参数age的值赋值给类person中的变量age* (但要求age>0,否则抛出自定义异常MyException类的对象);getAge()方法返回变量age的值。* (3)定义一个类 Test4 ,要求在类Test4中的main方法中类person的对象,* 先调用setAge(int age)方法,再调用getAge()方法。*/
class MyException extends Exception{public MyException(String msg){super(msg);}
}
class Person{private String name;private int age;public int getAge() {return age;}public void setAge(int age) throws MyException{if(age>0){this.age = age;}else{throw new MyException("年龄必须大于0");}}
}class Test4{public static void main(String[] args) throws MyException {Person p1=new Person();p1.setAge(1);System.out.println("年龄为"+p1.getAge());}
}
更多推荐
Java自定义抛出异常简单实例
发布评论