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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Tauruszzy 中级黑马   /  2015-5-9 17:21  /  232 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
自定义异常:为了解决自己所写程序中的错误
*/
class FuShuException extends Exception//自定义异常,并继承父类Exception进入异常体系,建立这个类
                                                                 // 的目的是为了生成对象
{
}

class Demo
{
        int div(int a,int b)throws Exception//一般函数内出现异常,函数上需要给出声明,即1处出现了异常
                                                                //这里要给出声明
        {
                if(a<0)
                        throw new FuShuException();//1处,因为我们自己定义的异常java虚拟机是不识别的,所
                                                                      //以通过throw关键字进行抛出,也叫手动抛出
            return a/b;
        }       
}

class ExceptionDemo
{
        public static void main(String[] args)throws Exception//此处加上的时候将异常问题抛给了虚拟机
        {
                Demo d=new Demo();
                int x=d.div(-4,1);
                System.out.println("x="+x);
                System.out.println("over");
        }
}
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
/*
自定义异常,这里是异常两种解决办法中的捕获方法,上面为声明方法
*/
class FuShuException extends Exception
{
}

class Demo
{
        int div(int a,int b)throws FuShuException
        {
                if(a<0)
                        throw new FuShuException();
            return a/b;
        }       
}

class ExceptionDemo
{
        public static void main(String[] args)
        {
                Demo d=new Demo();
                try
                {
                        int x=d.div(-4,1);
                    System.out.println("x="+x);
                }
                catch (FuShuException e)
                {
                        System.out.println(e.toString());//注意结果中没有打印e.toString()内容,因为自定义异常
                                                                           //中没有定义异常信息
                }
               
                System.out.println("over");
        }
}
程序结果:
FuShuException
over
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马