mar*_*nus 5 language-agnostic debugging
我正在研究一个错过了项目的项目,由于某些原因,即使应该有例外也没有例外.在内心深处,我发现了这种错误处理:
try {
m.invoke(parentObject, paramObj);
} catch (IllegalArgumentException e) {
new CaseLibException(e);
} catch (IllegalAccessException e) {
new CaseLibException(e);
} catch (InvocationTargetException e) {
new CaseLibException(e);
}
Run Code Online (Sandbox Code Playgroud)
我的大脑认识到有几个例外被包裹在另一个中,所以这并不是那么糟糕.但我不得不偶然发现这段代码至少3次,看看有什么遗漏......
你找不到的最愚蠢的bug是什么?
Ed *_* S. 11
在C/C++中(我最近学到的)
if (x = 0) {
...
}
Run Code Online (Sandbox Code Playgroud)
小智 6
I=1
Run Code Online (Sandbox Code Playgroud)
Fortran的那一行根本就没用了.
经过几个小时无果而终的调试后,我吞下了自己的骄傲,并和我一起走过代码.
来到那条线,我说,"现在我们增加下标."
"咦?" 他说.
就在那时我才意识到我正在读我的意图:
I=I+1
Run Code Online (Sandbox Code Playgroud)
而不是我写的.
请记住,下次你被卡住而无法弄清楚出了什么问题.
不要让你的骄傲阻止你招募第二双眼睛.
一旦我编写了一个函数来将日期时间字符串解析为另一种格式.在其中我有一个switch/case语句来解析月份值,它看起来像这样:
case month of:
01: return "Jan"; break;
02: return "Feb"; break;
... etc ...
09: return "Sep"; break;
11: return "Nov"; break;
12: return "Dec"; break;
end;
Run Code Online (Sandbox Code Playgroud)
出于某种原因,我在10月份遗漏了......
for i = 0 to ( list.Length - 1 ) do
begin
DoSomething( 1 );
end;
Run Code Online (Sandbox Code Playgroud)
尝试在凌晨3点用一个小字体在一个糟糕的显示器上找到它!;)
| 归档时间: |
|
| 查看次数: |
1645 次 |
| 最近记录: |