Error handling in Egypt
以前发布过《C语言的错误处理》一文,不过今天想说的是Egypt的“错误处理”。埃及的事闹得挺大的,国外和中文twitter上更是炸了锅。不要以为程序员就只会写程序——看看程序员举出来的标语吧。呵呵。
Error handling in Egypt
当然,作为程序员来说,这段代码显然还需要重构:
try{
elections(free,fare);
} catch(DemocracyNotFoundException){
System.err.println("Time for Mubarak to leave");
}
也有的程序员说,System.err.println不是处理错误的最好方法,正确的方法应该是:
try {
elections(free,fair);
} catch (DemocracyNotFoundException e) {
throw new MubarakDepartureParty(e);
}
最后,我们希望Egypt不要出现:
...
finally {
Security.shootProte ...
C语言下的错误处理的问题
下面是三种C语言的错误处理,你喜欢哪一种?还是都不喜欢?
/* 问题: 不充分,而且很容易出错,前面成功分配的资源,后面出错需要帮助释放 */
int foo(int bar)
{
int return_value = 0;
int doing_okay = 1;
doing_okay = do_something( bar );
if (doing_okay)
{
doing_okay = init_stuff();
}
if (doing_okay)
{
doing_okay = prepare_stuff();
}
if (doing_okay)
{
return_value = do_the_thing( bar );
}
return return_value;
}
...