黑马程序员技术交流社区

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

作者: Tauruszzy    时间: 2015-5-9 17:21
标题: 异常_07
/*
自定义异常:为了解决自己所写程序中的错误
*/
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
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------





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