class MyException extends Exception
{
private int idnumber;
public MyException(String message,int id)
{
super(message);
this.idnumber=id;
}
public int getId()
{
return idnumber;
}

}
class yc
{
public void regist(int num) throws MyException
{
if(num<0)
{
throw new MyException("人数为负值,不合理",3);
}
System.out.println("登记人数"+num);
}
public void manager()
{
try{
regist(-100);
}catch(MyException e)
{
System.out.println("登记出错,类别:"+e.getId());
}
System.out.println("本次登记操作结束");
}
public static void main(String args[])
{
yc t=new yc();
t.manager();
}
}

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【sure2003】截止到2008-07-22 14:46:19的历史汇总数据(不包括此帖):
    发帖的总数量:260                      发帖的总分数:10833                    每贴平均分数:41                       
    回帖的总数量:224                      得分贴总数量:7                        回帖的得分率:3%                       
    结贴的总数量:256                      结贴的总分数:10673                    
    无满意结贴数:2                        无满意结贴分:50                       
    未结的帖子数:4                        未结的总分数:160                      
    结贴的百分比:98.46 %               结分的百分比:98.52 %                  
    无满意结贴率:0.78  %               无满意结分率:0.47  %                  
    值得尊敬
      

  2.   

    /**
     * 自定义异常就是自己定义一种异常,我以前去面试的时候也被问过自定义异常这个问题,当时一点都不懂。
     *后来看了才知道有个自定义异常
     * @author xiaodong
     *
     */
    class MyException extends Exception {
    private int idnumber;

    public MyException(String message, int id) {
    super(message);
    this.idnumber = id;
    } public int getId() {
    return idnumber;
    } public static void main(String args[]) {
    yc t = new yc();
    t.manager();
    }
    }class yc {
    public void regist(int num) throws MyException {
    //如果num<0 new 一个异常,调用MyException的构造函数,执行函数体
    if (num < 0) {

    throw new MyException("人数为负值,不合理", 3);//该句过后,这个函数下面的都不执行
    }

    System.out.println("登记人数" + num);

    } public void manager() {
    try {
    regist(-100);
    } catch (MyException e) {
    System.out.println("登记出错,类别:" + e.getId());
    }
    System.out.println("本次登记操作结束");
    }}
      

  3.   

    /**
     * 自定义异常就是自己定义一种异常,我以前去面试的时候也被问过自定义异常这个问题,当时一点都不懂。
     *后来看了才知道有个自定义异常 
     * @author xiaodong
     *
     */
    class MyException extends Exception {
    private int idnumber;

    public MyException(String message, int id) {
    super(message);
    this.idnumber = id;
    } public int getId() {
    return idnumber;
    } public static void main(String args[]) {
    yc t = new yc();
    t.manager();
    }
    }class yc {
    public void regist(int num) throws MyException {
    //如果num<0 new 一个异常,调用MyException的构造函数,执行函数体
    if (num < 0) {

    throw new MyException("人数为负值,不合理", 3);//该句过后,这个函数下面的都不执行
    }

    System.out.println("登记人数" + num);

    } public void manager() {
    try {
    regist(-100);
    } catch (MyException e) {
    System.out.println("登记出错,类别:" + e.getId());
    }
    System.out.println("本次登记操作结束");
    }}
      

  4.   

    没什么啊  就是自己定义一个Exception
      

  5.   

    创建自定义异常 你不必拘泥于Java 中已有的异常类型。JDK 提供的异常体系不能预见你想报告的所有 
    错误,所以你可以自己定义异常类来表示程序中可能遇到的特定问题。 要自己定义异常类,你必须从已有的异常类继承,最好是选择意思相近的异常类继承(不 
    过这样的异常并不容易找)。建立新的异常类型最简单的方法就是让编译器为你产生缺 
    省构造器,所以这几乎不用写多少代码:                   -《thinking in Java 3》我觉得大概就是用来帮助显示调试的信息吧
    刚学习java没多久,还在看书练习中……
      

  6.   

    主要是定义一些自己设定的信息.
    看看各种框架,比如struts之类,都有很多自定义的异常类.
      

  7.   

    自定义异常是拿来解决某些使用JAVA现有异常库
    详细描述的比较特殊的问题.一个异常最有意义的就是它的名字.其他的都没什么重要的了.....你可以发现其实大部分异常都是继承自Exception然后调用Exception的构造器.然后就没什么了.. 所以一个异常的名字是最重要的.
      

  8.   

    自定义异常类继承Exception类,在自己的构造方法中调用父类的构造方法,并将异常信息传给父类的构造方法,即super(message);super就是调用的父类的构造方法,message就是异常信息,当发生异常时,调用自定义异常类的getMessage()方法就能得到异常信息。