在这种情况下如何抛出异常 - c#

时间:2013-05-01 21:13:12

标签: c# exception case throw

好吧,我有一个类,它的构造函数检查文件是否存在。如果文件不存在,我会抛出一个新的异常。

问题是当抛出异常时,用户可以看到我的所有代码......

没办法,从用户实例化类的位置检测到异常?

例如

这里发生异常,这样,程序员就可以在课堂上看到它了

if (!File.Exists(FileLocation))
        {
            throw new TFDException("File not found in the provided directory.");
        }

但是想在这里发生,那就是我实例化类

的地方
TFDConnection con = new TFDConnection("D:\\File.tfd");

2 个答案:

答案 0 :(得分:0)

你可以这样做

try
{
    TFDConnection con = new TFDConnection("D:\\File.tfd");
}
catch(Exception exx)
{
}

捕捉异常

答案 1 :(得分:0)

如果源代码不可用于pdb文件中定义的同一位置的其他程序员,则他们将看不到异常中的实际源代码。但总的来说,如果其他程序员真的想要找到正在发生的事情,那么即使是混淆器也没有任何帮助,他们只会让它变得更难...... 但还有另一件事 - 为什么你在构造函数中抛出异常?这不是很好的做法,因为它可能会留下一些未知状态的资源......更好的是避免这样的事情