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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郭冬 中级黑马   /  2012-12-7 10:46  /  1596 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class myException extends Exception
{
      myException(String mes)
{
    super(mes);
   }
   
}
class exctest
{
       public void getDiv(int a,int b) throws myException
          {
               if(b==0)
                        throw(new myException("by zero"));
               System.out.println(a/b);
          }
}
class mainpro
{      
         public static void main(String[] arg)
          {
         exctest div=new exctest();
         try{
                  div.getDiv(5,0);
              }
         catch(myException e)
                  {
                      System.out.println(e.toString());
                  }
        // catch(myException e)
          //        {
            //         System.out.println("zidingyi");
              //    }
            }
}
throw try catch的实现原理是什么啊?throw执行后是不是会调用catch函数?java中有没有反汇编器,可以看看throw try catch的实现原理?

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

1 个回复

倒序浏览
同的异常进行分类,并提供了良好的接口。在Java中,每个异常都是一个对象,它是Throwable类或其它子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并进行处理。Java的异常处理是通过5个关键词来实现的:try、catch、throw、throws和finally。一般情况下是用try来执行一段程序,如果出现异常,系统会抛出(throws)一个异常,这时候你可以通过它的类型来捕捉(catch)它,或最后(finally)由缺省处理器来处理。用try来指定一块预防所有"异常"的程序。紧跟在try程序后面,应包含一个catch子句来指定你想要捕捉的"异常"的类型。throw语句用来明确地抛出一个"异常"。throws用来标明一个成员函数可能抛出的各种"异常"。Finally为确保一段代码不管发生什么"异常"都被执行一段代码。可以在一个成员函数调用的外面写一个try语句,在这个成员函数内部写另一个try语句保护其他代码。每当遇到一个try语句,"异常"的框架就放到堆栈上面,直到所有的try语句都完成。如果下一级的try语句没有对某种"异常"进行处理,堆栈就会展开,直到遇到有处理这种"异常"的try语句。

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马