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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 忘记了 中级黑马   /  2014-1-4 13:33  /  1457 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


  1. public static void main(String[] args) throws FileNotFoundException, IOException  {
  2.                 ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream("d:\\ObjectOutputStream.txt"));
  3.         }//为什么要抛两个异常?一般的不是只要抛一个异常就行了么?
复制代码

评分

参与人数 1技术分 +1 收起 理由
FFF + 1

查看全部评分

4 个回复

倒序浏览
新人路过!!
说不出为什么,你要想写短点,把两个写成throw Exception就行了!
个人认为,抛出的异常在Java中也是个对象,需要用对应的类型接收,但父类的引用是可以接收子类对象的!
话说,当异常出现的时候,咱们应该捕获然后处理下,不知道是不是呢?

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 很给力!

查看全部评分

回复 使用道具 举报
个人的一些见解:
throws用来声明异常:
例如:
//自定义方法:
public void method()throws IOException,....{
.....//调用其它方法等
}
试想:你自定义方法内部可能抛出异常,而自己又不try...catch,那么需要在方法上声明
别人有时候只能看到方法的声明(后面的throws..),就像你查阅已有的类库(API).
之所以不抛Exception,是为了异常更加详细,以便于在使用过程中用不同的catch代码块分别处理.

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 赞一个!

查看全部评分

回复 使用道具 举报
将异常进行精确分类识别,分别抛出,发生什么异常,有利于程序猿看清程序的思路,也有利于程序对异常的分别处理,什么样的异常对应什么样的处理代码。当mian函数抛出异常时,也得需要java虚拟机进行内部的处理。特别是当对异常进行try..catch捕获时,最好是一个catch块处理一个异常,如这样的格式

  1.         try{
  2.                
  3.         }catch(... e){
  4.                
  5.         }catch(... e){
  6.                
  7.         }.....
复制代码

当然咱们做小程序时,就可一个Exception搞定了,多了太累

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 赞一个!

查看全部评分

回复 使用道具 举报
因为你的程序里面存在可能发生的异常有两处
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马