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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马任雪刚 中级黑马   /  2012-5-12 22:16  /  1427 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

//自定义异常:throws与throw
//为什么输出的异常信息没有出现错误的数字。
class fushu extends Exception
{
        private String message;
        private int num;
        fushu()
        {
               
        }
        fushu(String message,int num)
        {
                this.message=message;
                this.num=num;
        }
        public String getMessage()
        {
                return message;
        }
        public int getNum()
        {
                return num;
        }
}
class yy
{
        int x;
        int y;
        yy(int x,int y)
        {
                this.x=x;
                this.y=y;
        }
        void mai() throws fushu
        {
                if(y<0)
                {
                        throw new fushu("出负数了呀!",y);
                }
         int u=x/y;
         System.out.print(u);
        }
}
public class stu {

       
        public static void main(String[] args) {
                yy g=new yy(4,-1);
                try
                {
                g.mai();
                }
                catch(fushu e)
                {
                        System.out.println(e.toString());
                        System.out.println(e.getNum());
                }
        System.out.print("over!");
        }

}

3 个回复

正序浏览
我这里的输出结果是:
******(前面包名省略).fushu: 出负数了呀!
-1
over!
楼主想要什么结果? System.out.print(u);这个语句在有异常抛出的情况下,执行不到。
另向像楼主提点建议:类名首字母最好的大写,最好做到类名能见名知意!这对咱们以后的发展有帮助。
回复 使用道具 举报
因为你没手动覆盖toSting方法呀。若你想输出你想要的异常信心信息,需要你手动覆盖toSting方法实现。
回复 使用道具 举报
class fushu extends Exception
{
        private String message;
        private int num;
        fushu()
        {
               
        }
        fushu(String message,int num)
        {
                 super(message+num);
        }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马