0

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

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

没办法,异常是从哪里检测到用户实例化的类?

例如

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

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

但想在这里发生,这就是我实例化类的地方

TFDConnection con = new TFDConnection("D:\\File.tfd");
4

2 回答 2

0

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

于 2013-05-02T15:42:13.840 回答
0

你可以这样做

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

捕捉异常

于 2013-05-01T21:22:33.693 回答