C#interop - 验证对象存在

Dro*_*ror 1 c# com validation interop

我想在我的应用程序中使用COM对象.
如何确保对象已在机器中注册?

我找到的唯一解决方案(也是在SO上)是在初始化时使用try-catch块:

try {
    Foo.Bar COM_oObject = new Foo.Bar();
} catch (Exception ee) {
    // Something went wrong during init of COM object
}
Run Code Online (Sandbox Code Playgroud)

我可以用其他方式吗?
我觉得通过期待和报告错误来处理错误是错误的,我宁愿知道我会失败并避免它开始.

Dan*_*Dan 6

您正在以正确的方式使用异常处理:从您知道如何恢复的特定情况中优雅地失败.

在这种情况下使用try-catch没有问题,但你至少可以更具体地捕获:ComException.