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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

抛异常的时候 catch里面可以都写Exception e 吗  有时候看到写好多有好多不一样的  比如IOException 还有其他好多好多乱七八糟的  可以都简写成Exception e吗

14 个回复

倒序浏览
恩,可以的,因为Exception是所有异常类的父类,它的子类很多,比如我们常见的ClassNotFoundException、IOException、NullPointException等。只是如果你写成Exception的话就不具体。
回复 使用道具 举报
Exception是所有异常的父类,如果直接写Exception是可以处理的,但是写具体的异常更好。如果有多个catch语句存在的话,catch(Exception e)要放在最后,避免异常都被这个父类的处理掉
回复 使用道具 举报
F_SKY 发表于 2012-2-26 14:21
恩,可以的,因为Exception是所有异常类的父类,它的子类很多,比如我们常见的ClassNotFoundException、IOE ...

但是有时候我们写程序的时候不知道到底是什么异常啊 直接都写成Exception e不是更好吗
回复 使用道具 举报
类跟类里面的方法都是自己写的,怎么会不知道会发生什么异常。异常自己能处理的话,可以自己处理,或者直接抛出都可以的
回复 使用道具 举报
编译的时候直接回报出是具体哪个异常
回复 使用道具 举报
朱皓 中级黑马 2012-2-26 15:41:55
7#
可以的,Exception是所有异常类的父类,但是如果抛出异常的话,还是用子类的好,因为出现错误更容易定位到错误的具体内容
回复 使用道具 举报
刘明瑞 黑马帝 2012-2-26 17:52:28
8#
可以是可以。但是这样就不够清晰明确了,抛异常嘛,本来就是要告诉别人这里会抛什么类型的异常。
回复 使用道具 举报
沈样 黑马帝 2012-2-26 18:49:06
9#
可以都写成父类,不过这样处理异常就没有针对性
回复 使用道具 举报
djx900 黑马帝 2012-2-26 18:56:43
10#
异常Exception 是所有具体异常的父类,太粗狂虽然用是没什么错。就像毕老师说的阅读性忒差。
回复 使用道具 举报
可以的。 错误是可以捕获 但是有很多情况下你找不到错误在哪?  在异常这一块自己要是熟悉自定义的异常 就自己写。 改写到Exception里面的方法!
回复 使用道具 举报
王--明 黑马帝 2012-2-26 19:37:41
12#
可以是可以,不过劝你最好不要这样做,
1:阅读性差,在java中异常也封装成了类 ,Exception就是异常的基类,所有的异常都是其子类,如果这么写,别人不容易理解,以后自己看也不太懂了。

回复 使用道具 举报
当不确定会报什么异常时直接使用Exception抛出异常,或者你知道几个异常,而且你知道还有异常,但不确定的时要将Exception在最后抛出。举个例子吧,你所说的IOException相当于古时候的一个官员,他只管一块地,当别的地方发生事时,就轮不到他管了,这时就要让别的官员,恰巧你又不知道这个官员是谁,那你就可以到皇帝那里了,这个皇帝就相当于Exception,所有异常他都管。
回复 使用道具 举报
本帖最后由 舞动的心弦 于 2012-2-27 13:56 编辑

!!{:soso_e100:}
回复 使用道具 举报
本帖最后由 舞动的心弦 于 2012-2-27 13:58 编辑

我们在处理异常的时候通常是有两种方法的:
1.直接在calss后面throws exception (这是一种很不负责任的异常处理)
2.就是你说的try {}catch里面的 exception ,是这样的 你说的  “抛异常的时候 catch里面可以都写Exception e 吗”可以不错,
但是只是在我们学习基础的时候,比如你学习javase 基础为了节省点时间可以在自己的机子上写写,
但是我明确的告诉你,如果在做项目时这样写的话,那也是一种不负责任的异常处理
3.给你举一个例子吧:就说我们作为用户的时候要求你输入数字和秘码,并且是六位数的,如果你输错了,输入的是 空格啊等等
那么,作为用户的您,也许还不知道哪儿出错了,想我没错啊!如果以你这样的写法,很可能给用户带来不便,你要提示用户你是哪位出错了!
4.在你对一个程序测试的时候,如果异常太多了,几十个,如果你这样写的话,你想找到,更加困难啦!
所以希望楼主还是把程序写得结实点啦! 你知道印度的软件行业为何居世界第二吗?就是他们的程序员写程序时写得很结实,不会几下
就弄死了,而在中国,程序员的算法很牛,但是写程序写得不结实,跑几下,就跑死了!
呵呵,,这是我个人的一些看法,请各位继续补充啦!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马