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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Friendy89 中级黑马   /  2013-4-4 13:53  /  1471 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Friendy89 于 2013-4-4 22:11 编辑

class FuShuException extends Exception
{
        FuShuException(String msg)
        {
                super(msg);
        }
}
class Demo2
{
        int div(int a,int b)throws FuShuException
        {
                if(b<0)
                throw new FuShuException("出现了除数是负数的情况  / by FuShu");                  return a/b;
        }
}
public class ExceptionDemo2
{

        public static void main(String[] args)
        {
                Demo2 d=new Demo2();
                try
                {
                        int x=d.div(9, -3);
                System.out.println("x="+x);
                }
                catch(FuShuException e)
                {
                        System.out.println(e.toString());
                        System.out.println("除数出现负数了");
                        
                }
                System.out.println("over");
        }

}
这个函数中为什么不用定义父类方法Exception,子类就可以直接继承父类呢

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

10 个回复

倒序浏览
Exception 类是所有异常类的父类,可以捕获所有异常,你继承后的自定义异常类只可以捕获抛出你自定义的异常

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1 鼓励鼓励

查看全部评分

回复 使用道具 举报
Excption是jdk中的类不用自己定义
回复 使用道具 举报
Throwable 类是 Java 语言中所有错误或异常的超类。Error和Exception是它的小弟,有的方法也是从它大哥那继承过来的。
回复 使用道具 举报
不知道楼主所说的““这个函数中为什么不用定义父类方法Exception,子类就可以直接继承父类呢””具体指代那个函数
不管指代那个函数:首先我们要明的一点是Throwable派系都具有可抛性,就是可以通过Throw或者Throws抛出到上一级的调用者手中
然后我们再来先看看异常的流程吧:
        首先:main函数调用div方法,由于除数是负数所以要抛出自定义的异常,
        然后:程序会调用FuShuException 的构造函数,建立一个FuShuException实例,并把("出现了除数是负数的情况  / by FuShu")作为参数传递给
              FuShuException的构造函数,再进一步通过super(msg)调用Exception的构造函数
        再然后:在生成了异常实例后由于选择的是Throws处理方式,所以就会抛出(其中的过程JDK已经为我们封装好了,包括把异常对象入栈等)
        最后 流程就有返回主函数了,在主函数中定义了catch块,异常就会被自动捕获(实际上这也是Java内部的处理工作),
             并取通过ToString()取出自定义的异常信息
               

回复 使用道具 举报
明白了,谢谢大家{:soso_e100:}
回复 使用道具 举报
麻烦告知一下,怎么把 未解决 标签 改成 已解决,具体怎么改  谢谢
回复 使用道具 举报
楼主提问板块和回答问题的板块间有一个编辑。。。。。。
回复 使用道具 举报
袁杰 发表于 2013-4-4 18:55
楼主提问板块和回答问题的板块间有一个编辑。。。。。。

我只知道在发新帖的时候有,其他地方就没看到了,能发个截图看下吗,谢谢
回复 使用道具 举报

截图

本帖最后由 袁杰 于 2013-4-4 20:51 编辑

设置为已解决

123.PNG (10.16 KB, 下载次数: 10)

123.PNG
回复 使用道具 举报
袁杰 发表于 2013-4-4 20:49
设置为已解决

太感谢了,改好了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马