注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
Workshop やアクションなど、プラットフォームのほかの部分で関数を実行するときは、UserFacingError をスローして、何が問題で、どう修正すればよいかを説明する具体的なメッセージをユーザーに表示します。例:
Copied!1 2 3 4 5 6 7 8 9 10 11 12 13import { Function, UserFacingError } from "@foundry/functions-api"; import { Employee } from "@foundry/ontology-api"; export class MyFunctions { @Function() public async searchExactlyFiveEmployees(employees: Employee[]): Promise<string> { if (employees.length != 5) { throw new UserFacingError(`Pass in exactly 5 employees. Received ${employees.length}.`); } // 従業員を検索します } }
Copied!1 2 3 4 5 6 7 8 9 10 11import { Osdk } from "@osdk/client"; import { Employee } from "@ontology/sdk"; import { UserFacingError } from "@osdk/functions"; export default async function searchExactlyFiveEmployees(employees: Array<Osdk.Instance<Employee>>): Promise<string> { if (employees.length != 5) { throw new UserFacingError(`Pass in exactly 5 employees. Received ${employees.length}.`); } // 従業員を検索します }
Copied!1 2 3 4 5 6 7 8 9 10 11from functions.api import function, UserFacingError from ontology_sdk.ontology.objects import Employee @function() def search_exactly_five_employees( employees: list[Employee] ) -> str: if len(employees) != 5: raise UserFacingError(f"Pass in exactly 5 employees. Received {len(employees)}.") # 従業員を検索します
これを Workshop アプリケーションで関数ベースのアクションとして、従業員の数が正しくない状態で実行すると、ユーザーには次のエラーが表示されます。

関数ベースのエクスポートで使用する関数が UserFacingError をスローすると、エクスポート失敗のトーストにエラーメッセージが表示されます。
ユーザーが対処できるメッセージを記述します。Pass in exactly 5 employees. Received 3. のように、何が問題で、何を変更すべきかを明示します。
アプリケーションでユーザー向けエラーが表示された場合、そのメッセージは関数の作成者が記述したものです。選択内容や入力値を変更するなど、メッセージの指示に従ってから、もう一度試してください。問題の解決方法がメッセージで説明されていない場合は、アプリケーションの所有者に連絡してください。