A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© LuckyQS 中级黑马   /  2014-1-12 13:53  /  708 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 LuckyQS 于 2014-1-18 14:59 编辑

package com.sun.java.day03;

class NegativeNumberException extends Exception{
        private int value;
        NegativeNumberException(String message,int value){
                super(message);
                this.value = value;
        }
        public int getValue(){
                return value;
        }
        
}
class Demo1{
        int div(int a,int b)throws NegativeNumberException{
                if(b<0)
                        throw new NegativeNumberException("出现了除数是负数的情况",b);
                return a/b;
        }
}
public class UserdefinedException {
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                Demo1 d = new Demo1();
                try {
                        System.out.println(d.div(4, 1));
                } catch (NegativeNumberException e) {
                        System.out.println(e.toString());
                        System.out.println("错误的负数是:"+e.getValue());
                }
        }
}

为什么我自定义的异常会出现下面的问题呢?
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
No exception of type NegativeNumberException can be thrown; an exception type must be a subclass of Throwable
at com.sun.java.day03.UserdefinedException.main(UserdefinedException.java:29)

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

2 个回复

倒序浏览
我把你的拷过去没有问题
把div(4,1)改为(4,-1)报异常为:
com.tg.timetest.NegativeNumberException: 出现了除数是负数的情况
错误的负数是:-1
好好检查下

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

回复 使用道具 举报
同楼上。。
把div(4,1)改为(4,-1)报异常为:
NegativeNumberException: 出现了除数是负数的情况
错误的负数是:-1
说明你的程序没有错。

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马