System.Runtime.InteropServices.COMException(0x82DA0002):来自HRESULT的异常:0x82DA0002

时间:2009-01-15 18:37:43

标签: .net exception

有谁知道这意味着什么?

  

System.Runtime.InteropServices.COMException(0x82DA0002):异常   来自HRESULT:0x82DA0002 at   System.Windows.Forms.Control.MarshaledInvoke(控制调用者,委托   方法,Object [] args,布尔同步)at   System.Windows.Forms.Control.Invoke(Delegate方法,Object [] args)
  在Midden.cMidden.OnFileChanged(Object sender,FileSystemEventArgs e)   在System.IO.FileSystemWatcher.OnDeleted(FileSystemEventArgs e)at   System.IO.FileSystemWatcher.NotifyFileSystemEventArgs(Int32动作,   字符串名称)at   System.IO.FileSystemWatcher.CompletionStatusChanged(UInt32 errorCode,   UInt32 numBytes,NativeOverlapped * overlappedPointer)at   System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32的   errorCode,UInt32 numBytes,NativeOverlapped * pOVERLAP)

2 个答案:

答案 0 :(得分:0)

来自MSDN :(希望它有帮助)

从COM方法调用返回无法识别的HRESULT时引发的异常。

公共语言运行库将众所周知的HRESULT转换为.NET异常,使COM对象能够向托管客户端返回有意义的错误信息。通过将特定的HRESULT返回给非托管客户端,HRESULT异常映射也可以在另一个方向上运行。有关映射详细信息,请参见如何:映射HRESULT和例外。

当运行时遇到一个不熟悉的HRESULT(缺少特定的相应异常的HRESULT)时,它会抛出一个COMException类的实例。此通用异常公开与任何异常相同的成员,并包含一个公共ErrorCode属性,该属性包含被调用者返回的HRESULT。如果运行时有错误消息(从IErrorInfo接口或Visual Basic中的Err对象获得,或者在某些情况下从操作系统获得),则会将消息返回给调用者。但是,如果COM组件开发人员未能包含错误消息,则运行时将返回八位数的HRESULT来代替消息字符串。拥有HRESULT允许调用者确定一般异常的原因。

虽然您可以使用COMException类将特定的HRESULT返回给非托管客户端,但抛出特定的.NET异常比使用泛型异常更好。考虑到托管客户端以及非托管客户端可以使用您的.NET对象,并且将HRESULT抛出给托管调用者比抛出异常更难以理解。

答案 1 :(得分:-2)

我们的工作表明服务器上的磁盘空间很少或没有