有什么方法可以防止COM导入的接口引发COMException?

时间:2019-08-24 02:16:21

标签: c# interface com comexception

我已经声明了一个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

0 个答案:

没有答案