錯誤處理

當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