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

© 余善航 中级黑马   /  2013-1-20 02:47  /  1353 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Demo2{
        public void qwe()
        {
                try {
                        throw new Exception();// 报错未处理过得异常
                }finally{
                        //这没有课关闭的资源
                }       
        }
}
public class vvvv {

        public static void main(String[] args) {
                // TODO Auto-generated method stub

                Demo2 d=new Demo2();
                d.qwe();
        }
}
/* 这就是个小例子,尝试下try{}finally{}这中模式
可是这个问题怎么处理*/

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

2 个回复

倒序浏览
1. Exception在程序中必须使用try...catch进行处理。
2. RuntimeException可以不使用try...catch进行处理但是如果有异常产生则异常将由JVM进行处理。
  1. class Demo2{
  2.     public void qwe()
  3.     {
  4.             try {
  5.                     throw new Exception();// 报错未处理过得异常
  6.             } catch (Exception e) {  //这里一定要catch
  7.                                 // TODO Auto-generated catch block
  8.                                 e.printStackTrace();
  9.                         }finally{
  10.                     //这没有课关闭的资源
  11.             }        
  12.     }
  13. }
  14. public class vvvv{

  15.     public static void main(String[] args) {
  16.             // TODO Auto-generated method stub

  17.             Demo2 d=new Demo2();
  18.             d.qwe();
  19.     }
  20. }

  21. 结果如下:
  22. java.lang.Exception
  23. at test.Demo2.qwe(Student.java:6)
  24. at test.Student.main(Student.java:21)

复制代码

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
异常分为 编译时异常和运行时异常. 具体的处理方法也不同.
如果在方法上throws 抛出异常,在方法内 要么try catch try 处理,要么继续抛出.
你在try内 抛出了个编译时异常对象,却没有声明异常类型,也没有catch处理.这不行的.
  1. class Demo
  2. {
  3.         public void qwe() throws Exception  
  4.         {
  5.                 try
  6.                 {
  7.                          throw new Exception();//RuntimeException():可以不用声明异常类型,出现异常程序直接停止
  8.                 }
  9.                 /*catch(Exception e)    //如果抛出编译时异常,要么catch内处理,要么方法上声明.
  10.                 {
  11.                         throw e;
  12.                 }*/
  13.                 finally
  14.                 {
  15.                         //这没有课关闭的资源
  16.                 }        
  17.      }
  18. }

  19. public class Demo2
  20. {

  21.      public static void main(String[] args)
  22.                  throws Exception
  23.          {
  24.                         // TODO Auto-generated method stub
  25.                         Demo d=new Demo();
  26.                         d.qwe();
  27.      }
  28. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

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