e******m 发帖数: 30 | 1 【 以下文字转载自 JobHunting 讨论区 】
发信人: ewaldsum (ewaldsum), 信区: JobHunting
标 题: Re: 这样一道面试题
发信站: BBS 未名空间站 (Mon Feb 11 15:19:16 2008), 转信
我用F90。偶尔会遇到类似的BUG。
如果没有WRITE语句,程序正常运行,不报错,但是结果是错的。
中间添加一个WRITE语句,程序就报错(或者结果就突然对了)
这是为什么啊?哪个高手指点一下?
一段代码:
try{
Object A("aaa");
A.do();
// cerr<<"what's problem?"<
}catch(exception& e){
cerr<<"not handling"<
}
现象:如果 A.do() 发生异常,这个 exception 并没有被 catch 捕捉到并处理。但是
,如果添加任意一个 cerr statement 在 try block,如 comment 所示,异常就被捕
捉并正确处理。
问题:可能是什么原因造成这个现象?如何解决?(显然,通过添加一 |
|