錯誤處理
當SPEL+函數發生錯誤時,您可將執行轉移到負責處理錯誤的錯誤處理常式。常式必須在函數定義內。
下一頁的表格列出用來處理錯誤的程式指令。
項目 | 說明 |
---|---|
OnErr | 定義錯誤處理常式的位置。 |
Err | 傳回目前錯誤狀態的編號。可在錯誤處理常式中用此來判定所發生的錯誤。 |
Error | 產生可透過錯誤處理常式找出的使用者定義錯誤。 |
Era | 傳回發生錯誤的軸編號。這通常用於錯誤處理常式。 |
Erl | 傳回發生錯誤的行編號。這通常用於錯誤處理常式。 |
Ert | 傳回發生錯誤的任務編號。這通常用於錯誤處理常式。 |
ErrMsg$ | 傳回有關指定錯誤編號的錯誤信息。 |
Errb | 傳回發生錯誤的機器人編號。這通常用於錯誤處理常式。 |
使用者錯誤
您可使用Tools功能表中的User Error Editor,定義專屬的錯誤信息。如需詳細資訊,請參閱以下內容。
範例:
下列範例顯示一簡單錯誤處理常式。發生錯誤時,程式執行會跳轉至ErrHandler標籤,錯誤處理常式由此啟動。這時會顯示錯誤編號,並詢問操作員是否繼續。如果操作員輸入「N」,則程式會執行Quit All聲明以結束程式。
Function Main
String cont$
Integer i
OnErr Goto Errhandler
For i = 1 To 10
Jump P(i)
Next i
Exit Function
' *** 錯誤處理常式 ***
Errhandler:
enum = Err
Print "Error #", enum, " occurred"
Print "Continue (Y or N)?"
Line Input cont$
Select cont$
Case "y", "Y"
EResume Next
Default
Quit All
Send
Fend