关于java自定义异常类的一个代码

class MyException extends Exception //自定义异常类{ public MyException(String msg) { super(msg); }}public class person { private String name; private int age; public int getAge() { return age; } public String getName() { return name; } public void setAge(String name,int age) throws MyException { this.name=name; if(age<0) //年龄小于0抛出异常 throw new MyException("年龄不能小于0"); this.age=age; } public static void main(String[] args) { person p = new person(); try{ p.setAge("小明",-1); //捕获异常 System.out.println("姓名:"+p.getName()); System.out.println("年龄:"+p.getAge()); }catch(MyException e){ e.printStackTrace();

}
}
一直报下面那个错误 真心没辙了
最新回答
死亡与爱

2021-07-26 05:52:14

  1 程序中的异常指不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等。异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程。Java通 过API中Throwable类的众多子类描述各种不同的异常。因而,Java异常都是对象,是Throwable子类的实例,描述了出现在一段编码中的 错误条件。当条件生成时,错误将引发异常。

  Java异常类层次结构图:


  使用Java内置的异常类可以描述在编程时出现的大部分异常情况。除此之外,用户还可以自定义异常。用户自定义异常类,只需继承Exception类即可。
    在程序中使用自定义异常类,大体可分为以下几个步骤。
(1)创建自定义异常类。
(2)在方法中通过throw关键字抛出异常对象。
(3)如果在当前抛出异常的方法中处理异常,可以使用try-catch语句捕获并处理;否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作。
(4)在出现异常方法的调用者中捕获并处理异常。


创建自定义异常类

public class MyException extends Exception {
private static final long serialVersionUID = 1L;

public MyException(){
super();
}

public MyException(String msg){
super(msg);
}
}

使用的话就不演示了 如果你已经研究到了自定义异常 那么我相信你也一定会使用了 

如果不会使用 建议学会使用后再来看这篇文章

追着太阳跑

2020-07-19 09:39:10

1.p.setAge("小明",-1);              

      此时age=-1;

2. public void setAge(String name,int age) throws MyException
 {
  this.name=name;
 

 if(age<0)                                                           //年龄小于0抛出异常
   throw new MyException("年龄不能小于0");


  this.age=age;
 }


 3. try{
   p.setAge("小明",-1);                                        //捕获异常
   System.out.println("姓名:"+p.getName());
   System.out.println("年龄:"+p.getAge());
  }

catch(MyException e){    e.printStackTrace();  
 
 }

这异常肯定会报啊,因为你设置的年龄小于0了。

々苏晓瑾丶訫冷控

2021-11-30 13:11:58

经过本大人的亲自测试,你的代码没有问题。
你试一下在之前是不是有定义过一个类class person,改个类名再运行

或者MyException 这个类名也改改。如果你确认之前没有定义过这两个类名的话,那只能说人品问题了,我是直接把你代码复制到本地运行的,除了提示少了一个"}"大括号。其它一切正常
我阅君心

2023-04-23 03:32:02

报的错是你没setage的方法也,和你的thorw的exception没关系