[英]How to throw the exception in this case - c#
好吧,我有一个其构造函数检查文件是否存在的类。 如果文件不存在,则抛出新异常。
问题是当引发异常时,用户可以看到我的所有代码...
没办法,从用户实例化类的地方检测到异常?
例如
异常的启动在这里发生,这样,程序员可以在类中看到所有异常
if (!File.Exists(FileLocation))
{
throw new TFDException("File not found in the provided directory.");
}
但想在这里发生,那是我实例化课程的地方
TFDConnection con = new TFDConnection("D:\\File.tfd");
你可以这样做
try
{
TFDConnection con = new TFDConnection("D:\\File.tfd");
}
catch(Exception exx)
{
}
赶上例外
如果源代码无法在pdb文件中定义的相同位置供其他程序员使用,则他们将不会看到实际的源代码异常。 但是总的来说,如果其他程序员真的想发现正在发生的事情,那么即使是混淆器也无济于事,它们只会使事情变得更难了……但是还有另一件事-为什么在构造函数中抛出异常? 这不是很好的做法,因为它可能会使某些资源处于未知状态...最好避免这种情况
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.