黑马程序员技术交流社区

标题: 异常 [打印本页]

作者: hadexs    时间: 2013-6-23 13:49
标题: 异常
本帖最后由 孙百鑫 于 2013-6-27 07:15 编辑

自定义异常为什么必须要继承Exception类呢?
作者: zhengweicong    时间: 2013-6-23 14:39
继承exception类的好处是新的异常可以从throwable的其他类中分别捕获。
exception类没有定义自己的任何的方法,但从thorwable类中继承了所有的方法,
创建的任何用户创建的异常类都将具有throwable 了的所有的方法。
作者: sweethui1    时间: 2013-6-23 15:26
自定义异常通常是定义一个继承自Exception类的子类。一般情况下都会直接继承自Exception类,而不会继承某个运行时的异常类。

自定义异常 必须是自定义类继承Exception
继承Exception的原因:
  异常体系有一个特点:因为异常类和异常对象都被抛出。
  他们都具备可抛性。这个可抛性是Throwable这个体系中独有特点。
 只有这个体系中的类和对象才可以被throws和throw操作
  1. class FuShuException extends Exception //自定义异常
  2. {

  3.         FuShuException(String meg,int value)
  4.         {
  5.                 super(meg);

  6.         }
  7.        

  8. class Divide{
  9.        
  10.         public int divided(int a,int b) throws FuShuException
  11.         {

  12.                 if(b==0)
  13.                         throw new Exception("除零了!");
  14.                 return a/b;
  15.         }
  16. }


  17. public class DefineException {
  18.        
  19.         public static void main(String[]args)
  20.         {
  21.                 Divide div=new Divide();
  22.                 try
  23.                 {
  24.                         int x=div.divided(4, 0);
  25.                         System.out.println("result="+x);
  26.                 }
  27.                
  28.                 catch(FuShuException fu)
  29.                 {
  30.                         System.out.println(fu.toString());
  31.                        
  32.                 }
  33.                
  34.         }

  35. }
复制代码

作者: 280270738    时间: 2013-6-23 15:58
这是java异常的处理方式。只有集成了异常该类才能去调用java的异常处理,否则java不认识它是异常
作者: 孙百鑫    时间: 2013-6-27 07:15
楼主您好。我已将您的帖子改成已解决。如果帖子发布长时间没加分。及时联系我。以免漏分的情况发生{:soso_e100:}




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