自定义异常

Posted 奔跑智者

tags:

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


* 自定义异常:如果JDK中异常类型无法满足程序需要。
* 步骤:
* 1.编写自定义异常类:继承Exception或RuntimeException
* 2.编写构造方法,继承父类的实现
* 3.实例化自定义异常对象
* 4.使用throw抛出

例:

public class SexException extends Exception{
public SexException(String message){
super(message);
}
}

 

public class TestSexException {
public static void main(String[] args) {
Student student = new Student();
student.setName("张三");
try {
student.setAge(200);
student.setSex("男");
} catch (SexException e) {
// e.printStackTrace();
System.err.println(e.getMessage());
}catch(AgeException e){
System.err.println(e.getMessage());
}finally{
System.out.println("设置完成!");
}
System.out.println(student);

}
}

public class Student {
private String name;
private int age;
private String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}

public int getAge() {

return age;

}

public void setAge(int age) throws AgeException{

if(age>=1&&age<=100){

this.age = age;

}else{

throw new AgeException("年龄必须在1~100之间!");

}

}

public String getSex() {

return sex;

}

public void setSex(String sex) throws SexException{

if(sex.equals("男")||sex.equals("女")){

this.sex = sex;

}else{

throw new SexException("性别必须为男或女");

}

}

@Override

public String toString() {

return "Student [name=" + name + ", age=" + age + ", sex=" + sex + "]";

}

}

 

 

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

Java 求大神们解答:自定义异常,处理异常

Java中的自定义异常捕获方式

自定义异常

Springboot+自定义注解+自定义AOP前置增强+自定义异常+自定义异常捕获

自定义异常(源码)

C# 自定义异常