Skip to content

API Basic SafeCall ja

Codex edited this page Sep 21, 2026 · 1 revision

Safe Call

ClassicUO • Basic

Safe Call は通常の呼び出し用の互換プレフィックスです。エラー保護、タイムアウト、ロック、バックグラウンド実行は追加しません。

正確な構文

Safe Call FunctionName(arguments)
VAR value = Safe Call FunctionName(arguments)

パラメーター

  • FunctionName — 既存の手続き・関数名。ゲーム API は UO. が必要です。BASIC 組み込み関数には付けません。
  • arguments — 選択した関数の通常の引数。括弧は必須です。Safe と Call の間には空白を使います。

戻り値

元の関数の結果を返します。Unit は引き続き値なしを意味します。Safe Call は結果を true/false に変換しません。

動作

  • 現在のスクリプトの流れで実行し、引数、ByRef、戻り値、キャンセルの通常規則に従います。別のタスクは作成しません。
  • エラーは抑制しません。処理には Try/Catch を使ってください。Safe Call 単独はエラーハンドラーではありません。
  • RaiseEvent ではこのプレフィックスを使用できません。新しいコードは通常 FunctionName(...) と直接記述できます。本エンジンの互換構文であり、標準 VB.NET の構文ではありません。

使用例

1. 自作関数を呼び出す

# Sum  x=20y=22 を受け取り 42 を返しますSafe Call は型や数値を変えませんFUNCTION Sum(x, y)
    RETURN x + y
END FUNCTION
SUB Main()
    RETURN Safe Call Sum(20, 22)
END SUB

パラメーターと実行の説明:

Sum は x=20、y=22 を受け取り 42 を返します。Safe Call は型や数値を変えません。

2. 組み込み関数の結果を式で使う

# Val は文字列 "123" を数値に変換します7 を加えると 130 ですVal  BASIC 組み込み関数なので UO. は付けませんSUB Main()
    VAR text = "123"
    RETURN Safe Call Val(text) + 7
END SUB

パラメーターと実行の説明:

Val は文字列 "123" を数値に変換します。7 を加えると 130 です。Val は BASIC 組み込み関数なので UO. は付けません。

3. エラーを明示的に捕捉する

# Fail は明示的にエラーを発生させますCatch が受け取り caught  TRUE (1) にしますTry/Catch がなければ伝播します下に Fail の全コードを記載していますFUNCTION Fail()
    THROW "sample error"
END FUNCTION
SUB Main()
    VAR caught = FALSE
    TRY
        VAR value = Safe Call Fail()
    CATCH problem
        caught = TRUE
    END TRY
    RETURN caught
END SUB

パラメーターと実行の説明:

Fail は明示的にエラーを発生させます。Catch が受け取り caught を TRUE (1) にします。Try/Catch がなければ伝播します。下に Fail の全コードを記載しています。

ru · en · uk · de · fr · it · es · zh-tw · ja · ko

Basic

Clone this wiki locally