【发布时间】:2013-08-04 01:57:33
【问题描述】:
我需要阅读不同类型的 .txt 文件,为此我首先阅读标题所在的前几行。有了这些信息,我就可以选择阅读方式。问题是,如果只有一条记录采用不同的格式(比如我 substring(0,45) 并且只有 40 个字符),我的应用程序就会崩溃。我想避免这种情况,但我无法检查所有可能性。我读到你应该避免使用过多的 try/catch,而且我只在我不知道错误可能来自哪里时才使用它。
我的问题是:在循环中使用 try/catch 很糟糕(30k - 40k 次)?
如果不是,我该如何正确使用它?我不完全理解异常的目的。它们仅用于调试吗?如果不是,throw new exception 和MessageBox.Show("Error") 之间有什么区别。
如果我不通知错误而只是跳过它,我可以这样写:
try
{
//problematic code
}
catch
{
//nothing
//continue;
}
【问题讨论】:
-
为什么要避免这种情况?该文件是坏的,不是你想忽略的东西。如果您捕获并吞下异常,那么您仅完成了编写一个忽略不良数据的程序,因此很可能也会创建不良数据。没有任何方法让用户找出问题可能出在哪里。
-
是的,你是对的。我正在考虑使用该 sn-p 的其他情况。谢谢你的建议。 PD。如果用户选择了损坏的文件并且我抛出了 30k 异常,我该怎么办?