黑马程序员技术交流社区

标题: 异常。。。。。 [打印本页]

作者: 黑马任雪刚    时间: 2012-5-12 22:16
标题: 异常。。。。。
//自定义异常: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!");
        }

}

作者: 黑马罗坚    时间: 2012-5-12 23:46
class fushu extends Exception
{
        private String message;
        private int num;
        fushu()
        {
               
        }
        fushu(String message,int num)
        {
                 super(message+num);
        }

作者: 黑马-王建雨    时间: 2012-5-13 00:14
因为你没手动覆盖toSting方法呀。若你想输出你想要的异常信心信息,需要你手动覆盖toSting方法实现。
作者: 田林    时间: 2012-5-13 09:03
我这里的输出结果是:
******(前面包名省略).fushu: 出负数了呀!
-1
over!
楼主想要什么结果? System.out.print(u);这个语句在有异常抛出的情况下,执行不到。
另向像楼主提点建议:类名首字母最好的大写,最好做到类名能见名知意!这对咱们以后的发展有帮助。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2