黑马程序员技术交流社区

标题: java异常总结 [打印本页]

作者: 赵哲成    时间: 2014-8-24 22:20
标题: java异常总结
class FuShuException extends Exception
{
        FuShuException(String msg)
        {
                super(msg);
        }
}
class Demo
{
        int div(int a,int b) throws  FuShuException
        {
                if(b<0)
                        throw new FuShuException("除数为负数");               
                if(b==0)
                        throw new ArithmeticException("零被除了");
                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);
                }
                catch(FuShuException e)
                {
                        System.out.println(e.toString());
                }
                finally
                {
                        System.out.println("finally");//存放一定会被执行的代码
                }
                System.out.println("over");
        }
       
}




数据库Exception

public void method() throws NoException
{
        try
        {
                连接数据库;
                数据库操作;
        }
        catch(SQLException e)
        {
                对数据库进行异常处理;
                throw new NoException();
        }
        fianlly
        {
                关闭数据库;
        }
}




try
{
        throw new Exception();
}
fianlly
{
        关闭资源;
}


1.子类在覆盖父类时,如果父类方法跑出异常,子类方法覆盖,只能抛出父类异常或该异常的子类











异常总结

Throwable
        |-->Error
        |-->Eeception
                |-->RuntimeEeception
       
       
当函数内容有throw抛出异常,并未进行try处理,必须要在函数上声明,都在编译失败。
注意:runtimeException除外,
如果函数声明异常,调用者需要进行处理,处理方法可throw可try
异常有两种
        编译时被检测的异常
                该异常在编译时,如果没有处理,编译失败
                该异常被标示,代表可以被处理。
        运行时异常(编译时不检测)
                在编译时,不需要处理,编译器不检查。
                该异常的发生,建议不处理,让程序停止,需要对代码进行修正。

fianlly只有System.exit(0);时不会执行

自定义异常
        定义类继承Eeception或者RuntimeEeception
        1,为了让该自定义类具备可抛性,
        2,让该类具备异常方法处理的,
       
自定义异常,按照java的面向对象思想,将程序中出现的特有问题进行封装
throw  单独存在,下面不要定义语句


作者: dhgcy    时间: 2014-8-25 11:32
感谢分享
作者: wfaly    时间: 2014-8-25 12:08
谢谢分享...
作者: David.L    时间: 2014-9-25 18:01
怎么卡住了啊
作者: lishuliang28    时间: 2014-10-6 21:25
很不错!
作者: 354620815    时间: 2014-10-6 21:28
学习中。。。
作者: wujiemin    时间: 2014-10-6 21:36
感谢分享
作者: wf111sxwf    时间: 2014-10-6 23:18
总结的好啊,谢谢分享
作者: 哈韩浪子    时间: 2016-9-20 10:32
可以在方法体上写异常





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