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) 可創建矩陣,並存放錯誤訊息其中。
範例參考:
參考資料:
VFP參考手冊