Erf$関数

エラーが発生した関数名を返します。

書式
Erf$ [(タスク番号)]

パラメーター

タスク番号
タスク番号を0~32の整数値で指定します。省略または"0"の場合は現在のタスクです。

戻り値
最後のエラーが発生した関数名を返します。

解説
Erf$は、OnErrとともに使います。Erf$は、エラーが発生した関数名を返します。Erf$を Err, Ert, Erl, Eraなどと組み合わせることで、発生したエラーについてより詳しい情報を集めることができます。

自動運転モード(AUTO) の通常タスクとNoPauseタスクでは、「自動運転中のエラー発生」になると実行を中断し タスク終了します。NoEmgAbortタスクやバックグラウンドタスクで本関数を使用するときに、すでに対象のタスクが終了している場合は、"エラー 2261"が発生します。タスク終了前に情報を取得するには OnErr を使用してください。

参照
Era, Erl, Err, ErrMsg$, Ert, OnErr, Trap

Erf$関数使用例
下記は、次の内容を調べる簡単なプログラムです。

  • どのタスクでエラーが発生したか (Ert関数)
  • どの関数でエラーが発生したか (Erf$関数)
  • どこで発生したか (Erl関数)
  • どの関節でエラーが発生したか (Era関数)
Function main
  OnErr Goto eHandler
  Do
    Call PickPlace
  Loop
  Exit Function
eHandler:
  Print "The Error code is ", Err
  Print "The Error Message is ", ErrMsg$(Err)
  errTask = Ert
  If errTask > 0 Then
    Print "Task number in which error occurred is ", errTask
    Print "Function at which error occurred is ", Erf$(errTask)
    Print "The line where the error occurred is Line ", Erl(errTask)
    If Era(errTask) > 0 Then
      Print "Joint which caused the error is ", Era(errTask)
    EndIf
  EndIf
Fend