海归网首页
海归宣言
导航
博客
广告位价格
会员列表
收 藏 夹
论坛帮助
登录
|
登录并检查站内短信
|
个人设置
论坛首页
|
排行榜
|
在线私聊
|
专题
|
版规
|
搜索
|
RSS
|
注册
|
活动日历
主题:
没事找事系列:Shit™ Happens (转贴)
海归论坛首页
->
海归茶馆
焦点讨论
|
精华区
|
嘉宾沙龙
|
白领丽人沙龙
分屏
表形显示
阅读上一个主题
::
阅读下一个主题
作者
没事找事系列:Shit™ Happens (转贴)
安普若
[
博客
]
[
个人文集
]
头衔: 海归元勋
声望: 大师
性别:
加入时间: 2004/02/21
文章: 26038
来自: 中国美国的飞机上
海归分: 4196257
标题:
没事找事系列:Shit™ Happens (转贴)
(1495 reads)
时间:
2006-9-09 周六, 05:11
作者:
安普若
在
海归茶馆
发贴, 来自【海归网】 http://www.haiguinet.com
Shit™ Happens
不要用鄙夷的眼光看待这个标题。其实「Shit Happens」是个名言,而且还是个具有禅意的名言。 电影阿甘正传(Forrest Gump)中,阿甘在跑步时踩到 shit,旁边一位失意的商人问他对此事的看法,阿甘表情轻松地说:「Shit Happens.」 ,这句话的意思是「人生偶而会有不顺遂的事发生,没什么值得大惊小怪的」。这个商人于是将「SHIT HAPPENS」做成标语,结果大卖。 电影下一幕镜头出现一台后面贴有「SHIT HAPPENS」标语的汽车,飞来横祸地被后面的另一台车子撞了……果真是「Shit Happens」。
「…… 这和本文章有什么关系???」别急,继续看下去吧!
Java程序员对于例外处理机制(exception handling mechanism)应该都不陌生,因为 Java语言强制程序员必须使用例外处理来捕捉(catch)非执行时期(non-runtime)的例外。所以你一定用过 try,catch,finally 这三个 Java 语言的关键词,而且你也很有可能用过 throw 这个关键词来将未处理的例外再转出去给 call stack 的下一层 method。但是,你很有可能未曾主动 new 一个例外对象,然后将其丢出。你更有可能未曾定义过自己的例外类别。
在用 Java 设计中大型系统的时候,常常有必要定义自己的例外类别,并在适当时机主动地丢出例外。如此一来可以使得程序更稳固。
对于定义自己的例外类别,我的习惯是:
如果此例外属于 runtime 性质,且可以补救,则此例外继承自 java.lang.RuntimeException。
如果此例外不属于 runtime 性质,且可以补救,则此例外继承自 java.lang.Exception。
如果此例外不可以补救,则此例外继承自 java.lang.Error。
上述这三点完全是依照 Java 语言对于例外处理的建议,相当直觉,我也就不多解释了。除此之外,我还定义了一个我常用的例外类别,叫做 Shit,其定义如下:
package com.skittles;
public class Shit extends RuntimeException {
private String whatHappened;
private Shit() {}
public Shit(String whatHappened) {
this.whatHappened = whatHappened;
}
public String toString() {
return whatHappened;
}
}
在程序中,对于一些我认为绝对不可能会发生的情况,我会丢出 Shit,代表程序出现了绝对不应该发生的状况。如果出现这个例外,表示程序内部有奇怪的错误。在测试程序时,如果 Shit Happens,我会去追查其源头,将错误找出来订正。
之所以让 Shit 继承自 RuntimeException,就是因为它应该不可能发生,将它定成 RuntimeException 可以使得程序不用去 catch 它。
在程序的撰写与测试阶段,Shit Happens 是免不了的。但是,在程序交给客户或上线之后,就得确定程序正确无误。No more shit happens.
本文作者:蔡学镛
张贴日期:5/19/00
作者:
安普若
在
海归茶馆
发贴, 来自【海归网】 http://www.haiguinet.com
相关主题
没事找事系列:李薇(转帖)
春秋茶馆
2011-2-15 周二, 03:29
没事找事系列: 我所理解的中国商人和商业思想 ——作者:曾强(转帖)
海归主坛
2010-3-07 周日, 16:03
九哥2015春游第四站:沙巴(多图)
生活风情
2015-4-14 周二, 23:46
案例分析:《汇源模式》:前言(转帖)
海归商务
2010-12-30 周四, 05:40
著名外资公司委托招聘:Sales Manager (3人)
海归职场
2010-10-25 周一, 09:48
猎头职位:Application Developer(Team Leader)
海归职场
2010-8-18 周三, 20:44
猎头职位:Finance Director(Finance Control...
海归职场
2010-7-29 周四, 19:48
猎头职位:上海(江苏)-液压油缸工艺工程师-10-20万
海归职场
2010-7-17 周六, 22:43
返回顶端
没事找事系列:Shit™ Happens (转贴)
--
安普若
- (1522 Byte) 2006-9-09 周六, 05:11
(1495 reads)
I enjoy his article
--
fatboyslim
- (12 Byte) 2006-9-12 周二, 04:08
(152 reads)
我也定义一个子类以表示对你这篇文章的观点,。。。
--
HiThere
- (88 Byte) 2006-9-09 周六, 07:00
(412 reads)
显示文章:
所有文章
1天
7天
2周
1个月
3个月
6个月
1年
时间顺序
时间逆序
海归论坛首页
->
海归茶馆
焦点讨论
|
精华区
|
嘉宾沙龙
|
白领丽人沙龙
所有的时间均为 北京时间
论坛转跳:
您
不能
在本论坛发表新主题,
不能
回复主题,
不能
编辑自己的文章,
不能
删除自己的文章,
不能
发表投票, 您
不可以
发表活动帖子在本论坛,
不能
添加附件
不能
下载文件,
热门标签
更多...
论坛精华荟萃
更多...
博客热门文章
更多...
海归网二次开发,based on phpbb
Copyright © 2005-2024 Haiguinet.com. All rights reserved.