Win32API调用错误号与信息
2007-05-12 21:28
330 查看
Author:水如烟
Namespace LzmTW.uSystem.uWindows.Win32API
Public Class Win32ErrHelper
Public Shared ReadOnly Property Message(ByVal errNum As Integer) As String
Get
If errNum = 0 Then Return "操作成功完成"
Return GetString(errNum)
End Get
End Property
Private Shared Function GetString(ByVal errNum As Integer) As String
Dim collectionIndex As Integer
collectionIndex = errNum / 1000
Dim msg As String
Select Case collectionIndex
Case 0
msg = ErrCollection00.GetString(errNum)
Case 1
msg = ErrCollection01.GetString(errNum)
Case 2
msg = ErrCollection02.GetString(errNum)
Case 3
msg = ErrCollection03.GetString(errNum)
Case 4
msg = ErrCollection04.GetString(errNum)
Case 5
msg = ErrCollection05.GetString(errNum)
Case 6
msg = ErrCollection06.GetString(errNum)
Case 7
msg = ErrCollection07.GetString(errNum)
Case 8
msg = ErrCollection08.GetString(errNum)
Case 9
msg = ErrCollection09.GetString(errNum)
Case 10
msg = ErrCollection10.GetString(errNum)
Case Else
msg = "错误序号超出范围!"
End Select
Return msg
End Function
Public Shared Function Current() As ErrMessage
Dim msg As New ErrMessage
With msg
.ErrNum = System.Runtime.InteropServices.Marshal.GetLastWin32Error
.Message = Message(.ErrNum)
End With
Return msg
End Function
Public Shared Sub ThrowExceptionIfExists()
Dim msg As ErrMessage = Current()
If msg.ErrNum = 0 Then Return
Throw New Exception(msg.ToString)
End Sub
Public Structure ErrMessage
Public ErrNum As Integer
Public Message As String
Public Overrides Function ToString() As String
Return String.Format("{0} 错误号:{1}", Message, ErrNum)
End Function
End Structure
End Class
End Namespace
Namespace LzmTW.uSystem.uWindows.Win32API
Public Class Win32ErrHelper
Public Shared ReadOnly Property Message(ByVal errNum As Integer) As String
Get
If errNum = 0 Then Return "操作成功完成"
Return GetString(errNum)
End Get
End Property
Private Shared Function GetString(ByVal errNum As Integer) As String
Dim collectionIndex As Integer
collectionIndex = errNum / 1000
Dim msg As String
Select Case collectionIndex
Case 0
msg = ErrCollection00.GetString(errNum)
Case 1
msg = ErrCollection01.GetString(errNum)
Case 2
msg = ErrCollection02.GetString(errNum)
Case 3
msg = ErrCollection03.GetString(errNum)
Case 4
msg = ErrCollection04.GetString(errNum)
Case 5
msg = ErrCollection05.GetString(errNum)
Case 6
msg = ErrCollection06.GetString(errNum)
Case 7
msg = ErrCollection07.GetString(errNum)
Case 8
msg = ErrCollection08.GetString(errNum)
Case 9
msg = ErrCollection09.GetString(errNum)
Case 10
msg = ErrCollection10.GetString(errNum)
Case Else
msg = "错误序号超出范围!"
End Select
Return msg
End Function
Public Shared Function Current() As ErrMessage
Dim msg As New ErrMessage
With msg
.ErrNum = System.Runtime.InteropServices.Marshal.GetLastWin32Error
.Message = Message(.ErrNum)
End With
Return msg
End Function
Public Shared Sub ThrowExceptionIfExists()
Dim msg As ErrMessage = Current()
If msg.ErrNum = 0 Then Return
Throw New Exception(msg.ToString)
End Sub
Public Structure ErrMessage
Public ErrNum As Integer
Public Message As String
Public Overrides Function ToString() As String
Return String.Format("{0} 错误号:{1}", Message, ErrNum)
End Function
End Structure
End Class
End Namespace
相关文章推荐
- Win32API调用错误号与信息(7000-7999)
- Win32API调用错误号与信息(1000-1999)
- Win32API调用错误号与信息(1-999)
- Win32API调用错误号与信息(8000-8999)
- Win32API调用错误号与信息(2000-2999)
- Win32API调用错误号与信息(1000-1999)
- Win32API调用错误号与信息(9000-9999)
- Win32API调用错误号与信息(2000-2999)
- Win32API调用错误号与信息(10000-10999)
- Win32API调用错误号与信息(3000-3999)
- Win32API调用错误号与信息(4000-4999)
- Win32API调用错误号与信息(5000-5999)
- Win32API调用错误号与信息(6000-6999)
- ASP.NET MVC2 AJAX调用JsonResult方法并返回自定义错误信息
- VB.NET(2005)中关于dll调用的错误信息(转)
- 反射调用发生错误信息 LoadNeither
- NDK 函数调用异常获取错误信息
- Java 调用SAP RFC函数错误信息集锦
- C# 调用外部程序,并获取输出和错误信息
- 驱动调试之段错误分析_根据栈信息确定函数调用过程