我已经声明了一个COM接口IFileDialog
,并且一切正常,但是,有一个令人讨厌的事情,如果在调用int Show([Optional] IntPtr owner);
之后关闭或取消了对话框,则HRESULT不是返回,而是抛出COMException。有什么办法可以防止这种情况?
最初希望将方法编写为:
public DialogResult Show()
{
// _value = IFileDialog
return (_value.Show() == 0) ? DialogResult.Ok : DialogResult.Cancel;
}
但被迫将其写为:
public DialogResult Show()
{
try
{
return (_value.Show() == 0) ? DialogResult.Ok : DialogResult.Cancel; //incase it goes threw and a exception isn't thrown
}
catch (Exception)
{
return DialogResult.Cancel;
}
}
注意:这不是大问题,只是不热衷于使用try catch