好吧,我有一个类,它的构造函数检查文件是否存在。如果文件不存在,我会抛出一个新的异常。
问题是当抛出异常时,用户可以看到我的所有代码......
没办法,从用户实例化类的位置检测到异常?
例如
这里发生异常,这样,程序员就可以在课堂上看到它了
if (!File.Exists(FileLocation))
{
throw new TFDException("File not found in the provided directory.");
}
但是想在这里发生,那就是我实例化类
的地方TFDConnection con = new TFDConnection("D:\\File.tfd");
答案 0 :(得分:0)
你可以这样做
try
{
TFDConnection con = new TFDConnection("D:\\File.tfd");
}
catch(Exception exx)
{
}
捕捉异常
答案 1 :(得分:0)
如果源代码不可用于pdb文件中定义的同一位置的其他程序员,则他们将看不到异常中的实际源代码。但总的来说,如果其他程序员真的想要找到正在发生的事情,那么即使是混淆器也没有任何帮助,他们只会让它变得更难...... 但还有另一件事 - 为什么你在构造函数中抛出异常?这不是很好的做法,因为它可能会留下一些未知状态的资源......更好的是避免这样的事情