我如何捕获异常,使其不会中断?

时间:2019-03-26 19:40:07

标签: c# visual-studio exception

因此,我正在尝试构建可执行文件。我正在运行的项目正在X86上构建。

当我构建项目时,一切似乎都很好,并且我得到了一个可执行文件。但是可执行文件无法运行。我收到一条错误消息:

  

“子代”不是此父代的子代控件。

其次是例外情况:

  

未注册的类(HRESULT的异常:0X80040154(REGDB_E_CLASSNOTREG)。

我确保所有内容都是X86,然后清理了解决方案并进行了重建。但是我仍然遇到这些错误。 (我尝试切换到X64和任何PC,这些选项甚至都找不到我的DeviceBase.dll) 当我开始调试时,我直接进入了代码的特定功能。

protected override void Call(bool calling)
{            
    if (calling)
    {
        if (components != null)
        {
            components.Call();
        }                    
    }

    //This is where I get the exception saying
    //cannot access a called object
    base.Call(calling);
}

堆栈跟踪给了我这样的东西:

Message=Cannot access a disposed object.
Object name: 'Icon'.
ObjectName=Icon
Source=System.Drawing

这些组件从null开始,最初的调用为false。 如何正确处理此异常?任何建议表示赞赏。

1 个答案:

答案 0 :(得分:0)

感谢大家的帮助。但是我必须获取设备软件特定的文件(.dlls),并将嵌入互操作类型设置为false。做到了。