这个问题困扰我一整个早上了。如果类构造函数抛出异常,调用垃圾回收器是一个好的实践吗?我的代码类似于:
public MyClass(/* some arguments */)
{
try
{
//do stuff...
} catch(Exception e) {
//do stuff, save logfile
GC.SuppressFinalize(this);
}
}
我这样做的原因是,如果它抛出异常(通常是空引用异常),我想将其记录在文本文件中,并且我不再需要/想要此对象。但这种做法好吗?如果不好,应该如何正确处理?
GC.SuppressFinalize
是完全无意义的。 - LukeH