直接從系統得到錯誤描述 (轉)
'作者: Thierry Waty
'作者主頁:
'這是一個根據錯誤程式碼直接從中得到錯誤描述的,你可以不要用硬編碼了
'使用舉例:
' Call Error
' *** Or
' De.Print ReturnAPIError(53)
' *** Return : 介面卡出錯。
' #VBUtils#************************************************************
' * Programmer Name : Waty Thierry
' * Site :
' * E- : ">waty.thierry@usa.net
' * Date : 12/10/1998
' * Time : 20:20
' * Module Name : APIError_Module
' * Module Filename : APIError.bas
' **********************************************************************
' * Comments :
' * 這是一個根據錯誤程式碼直接從系統中得到錯誤描述的程式,你可以不要用硬編碼
' *
' *
' **********************************************************************
Option Explicit
Private Const FORMAT_MESSAGE_FROM_SYSTEM = &H1000
Private Const FORMAT_MESSAGE_IGNORE_INSERTS = &H200
Private Declare Function FormatMessage Lib "kernel32" Alias "FormatMessageA" _
(ByVal dwFlags As Long, lp As Any, ByVal dwMessageId As Long, _
ByVal dguageId As Long, ByVal lpBuffer As String, ByVal nSize As Long, _
Arguments As Long) As Long
' *** Status Codes
Private Const INVALID_HANDLE_VALUE = -1&
Private Const ERROR_SUCCESS = 0&
Public Function ReturnAPIError(ErrorCode As Long) As String
' #VBIDEUtils#************************************************************
' * Programmer Name : Waty Thierry
' * Web Site :
' * :
' * Date : 12/10/1998
' * Time : 20:21
' * Module Name : APIError_Module
' * Module Filename : APIError.bas
' * Procedure Name : ReturnAPIError
' * Parameters :
' * ErrorCode As Long
' **********************************************************************
' * Comments :
' * Takes an API error number, and returns
' * a descriptive text string of the error
' *
' **********************************************************************
Dim sBuffer As String
' *** Allocate the string, then get the system to
' *** tell us the error message associated with
' *** this error number
sBuffer = String(256, 0)
FormatMessage FORMAT_MESSAGE_FROM_SYSTEM Or FORMAT_MESSAGE_IGNORE_INSERTS, 0&, ErrorCode, 0&, sBuffer, Len(sBuffer), 0&
' *** Strthe last null, then the last CrLf pair if it exists
sBuffer = Left(sBuffer, InStr(sBuffer, vbNullChar) - 1)
If Right$(sBuffer, 2) = Chr$(13) & Chr$(10) Then
sBuffer = Mid$(sBuffer, 1, Len(sBuffer) - 2)
End If
ReturnAPIError = sBuffer
End Function
Public Sub ApiError()
' #VBIDEUtils#************************************************************
' * Programmer Name : Waty Thierry
' * Web Site :
' * E-Mail :
' * Date : 12/10/1998
' * Time : 20:35
' * Module Name : APIError_Module
' * Module Filename : APIError.bas
' * Procedure Name : APIError
' * Parameters :
' **********************************************************************
' * Comments :
' * Takes an API error number, and returns
' * a descriptive text string of the error
' *
' **********************************************************************
Dim sError As String
On Error GoTo ERROR_APIError
sError = InputBox("Enter the error number", "Returns API error")
If IsNumeric(sError) = False Then Exit Sub
MsgBox ReturnAPIError(CLng(sError)), vbInformation + vbOKOnly, "Error n " & sError
Exit Sub
ERROR_APIError:
MsgBox "Error n " & sError & vbCrLf & " Invalid error number" & vbCrLf & "You have to give another one", vbCritical + vbOKOnly, "Error n " & sError
End Sub
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-988483/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何直接在頁面得到系統的時間
- vb中從域名得到IP及從IP得到域名 (轉)
- MySQL主從複製錯誤——列型別轉換錯誤MySql型別
- 在 Linux 上如何得到一個段錯誤的核心轉儲Linux
- 作業系統錯誤點作業系統
- 在UNIX 系統下得到字元點陣資訊(轉)字元
- 旅店管理系統中clerk的詳細描述 (轉)
- 在oracle伺服器上如何去何從查詢ora錯誤資訊的描述Oracle伺服器
- 搭建前端錯誤監控系統前端
- 從 ifconfig 中得到 IP地址(轉)
- (轉載 --- 中篇) 分散式系統測試那些事兒 - 錯誤注入分散式
- aix errpt檢視系統錯誤AI
- Oracle 物化檢視 詳細錯誤描述 檢視方法Oracle
- 直接插入排序java描述排序Java
- 對RedHat 系統的一些概括性描述(轉)Redhat
- 從錯誤中學習
- 關於系統效能的10大錯誤
- 【Fixed Area】從SGA的Fixed Area中得到系統當前的SCN號
- Linux命令列得到系統IPLinux命令列
- win10系統怎麼檢視系統錯誤日誌_win10如何檢視錯誤日誌Win10
- Win10系統怎麼禁用錯誤報告 禁用win10系統微軟錯誤報告的方法Win10微軟
- 解決MyQL資料庫中1045錯誤的方法——Windows系統(轉)資料庫Windows
- Win10系統怎麼刪除並禁止生成“系統錯誤記憶體轉儲檔案”Win10記憶體
- 系統利益相關者描述案例
- 工作流系統功能特性描述
- win10系統錯誤oxc0000005解決方案_win10系統錯誤oxc0000005修復方法Win10
- mysql主從跳過錯誤MySql
- 感覺 《JAVA 與模式》 一書中的描述似乎有錯誤Java模式
- 作業系統錯誤5:拒絕訪問作業系統
- 我的第一個系統管理員錯誤
- mysql-發生系統錯誤1067MySql
- ORACLE監控系統錯誤日誌過程Oracle
- Windows系統錯誤程式碼-----故障檢測用Windows
- 【Java】從域名得到ipJava
- oracle錯誤一覽(轉)Oracle
- ftp錯誤命令速查(轉)FTP
- win10系統dwm.exe錯誤黑屏怎麼辦_win10系統dwm.exe錯誤黑屏如何解決Win10
- oracle關於*_tab_columns檢視的描述有一個錯誤Oracle