錯誤管理

VFP 錯誤處理

系統 ( System ) 或程序 ( Program ) 不可能不出程式錯誤 ( BUG ),或是你沒想到的情況。

所以必須要有錯誤處理 ( Error Handling ) 或是例外情況 ( Exception ),已在執行時期(Run time)時可以攔截並導向你所要的結果。

程序錯誤大概可以分成四類,"絕不能發生"、"已知的例外情況"、"必要的錯誤處理" 和 "意想不到的錯誤"。

1.絕不能發生:退出程序,以避免 Return 或是 Retry後發生第二次或是引發其他錯誤。

2.已知的例外情況:撰寫Log記錄錯誤,並適當回報給使用者。

3.必要的錯誤處理:適當回報訊息給使用者,避免引發其他錯誤的情況。

4.意想不到的錯誤:撰寫Log記錄錯誤,因無法判別有何影響,故退出主程序。

VFP的錯誤處理命令:

ON ERROR [DO] 函式名 WITH 錯誤資訊

錯誤資訊包含:錯誤代碼 ERROR( )、錯誤消息 MESSAGE( )、程序行號 LINENO( ) 以及程序名稱 PROGRAM( )

測試錯誤指令可以使用: 

ERROR nErrorNumber | nErrorNumber, cMessageText1 | cMessageText2

ERROR 12                 && 生成 Visual FoxPro 錯誤 "變量未找到"ERROR 12, 'Myvariable'   && 變量 'Myvariable' 未找到錯誤ERROR '我的錯誤信息'      && 生成 '我的錯誤信息' 錯誤

來測試錯誤處理是否有根據所安排的處理方式。

註: AERROR(ArrayName) 可創建矩陣,並存放錯誤訊息其中。

範例參考:

Error錯誤處理程式碼(轉貼)

參考資料:

Visual FoxPro 中的錯誤處理(轉貼)

VFP參考手冊