zoukankan      html  css  js  c++  java
  • 处理一个COMException异常需要注意的地方

    尽管可以使用COMException类向非托管客户端返回特定的HRESULT,但引发特定的.NET Framework异常比使用泛型异常要好。考虑到托管客户端和非托管客户端都可以使用.NET Framework对象,向托管调用方抛出HRESULT比引发异常更难理解。

    以下是对COMException异常进行故障排除的一些注意事项。

    1. 检查ErrorCode属性
      当运行时遇到不熟悉的HRESULT并引发COMException异常时,ErrorCode属性将包含错误消息,或者如果错误消息不可用,则包含八位数的HRESULT值。错误消息或HRESULT值可以帮助您确定异常的原因。
    2. 有关HRESULT值的列表,请参阅HRESULT值。
    3. 后期绑定参数和Microsoft Office对象
      当向Microsoft Office对象的方法传递后期绑定参数时,当对象是COM对象时,可能会引发COMException异常。后期绑定器假定此类方法调用涉及ByRef参数,并且传递的属性具有set访问器。如果属性不存在,则.NET Framework将生成MissingMethodException异常(CORE_E_MISSINGMETHOD HRESULT)。要解决此问题,请使用早期绑定对象或传递变量而不是对象的属性。
    4. visualstudio和宿主进程
      COM用于在visualstudio和宿主进程之间进行通信。因为它是在代码运行之前使用的,所以调用CoInitializeSecurity会引发此异常。在某些情况下,以管理员身份运行visualstudio可能会解决此问题。您也可以禁用托管进程。
  • 相关阅读:
    字符串前面加@
    SQL字段类型bit 查询时注意
    SELECT IDENT_CURRENT(tableName)和自增长列的纠结
    解析xml文件 selectSingleNode取不到节点
    【.NET】.NET MVC4 微信扫一扫功能实现附全部代码
    未定义对象
    C# Web开发中弹出对话框的函数[转载]
    json序列化和反序列化
    jq的$.each()方法
    学习URLRewriter.dll的使用
  • 原文地址:https://www.cnblogs.com/yilang/p/13234882.html
Copyright © 2011-2022 走看看