> ## Documentation Index
> Fetch the complete documentation index at: https://auth0.generaltranslation.app/llms.txt
> Use this file to discover all available pages before exploring further.

# カスタムデータベースのトラブルシューティング

> データベースをIDプロバイダーとして使用している場合の、エラーへの対処方法とトラブルシューティングをご紹介します。

カスタムデータベース接続で返されるエラーは、トラブルシューティングのために使用できます。また、スクリプト用のベーシックなトラブルシューティングの手順もご紹介します。

<div id="types-of-errors">
  ## エラーの種類
</div>

データベース接続からは、さまざまな種類のエラーが返されます。

<table class="table">
  <thead>
    <tr>
      <th>エラー</th>
      <th>ログインスクリプト</th>
      <th>説明</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>`new WrongUsernameOrPasswordError(&lt;email or user_id&gt;, &lt;message&gt;)`</td>
      <td>ログイン</td>
      <td>ユーザーの資格情報が無効な場合に発生します。引数が渡されないか、最初の引数が不正な場合には、`fu`イベント（無効なユーザー名またはメールアドレス）として`user_id`に空の文字列を含むエラーがログに記録されます。渡された最初の引数が正しい場合には、`fp`イベント（ユーザーが存在し、パスワードが不正）として`user_id`に`auth0|&lt;first argument&gt;`を含むエラーがログに記録されます。詳細については、「<a href="/docs/ja-JP/ja-jp/deploy-monitor/logs/log-event-type-codes">ログイベントタイプのコード</a>」を参照してください。</td>
    </tr>

    <tr>
      <td>`new ValidationError(&lt;user_exists&gt;, &lt;message&gt;)`</td>
      <td>作成</td>
      <td>ユーザーがすでにデータベースに存在する場合に発生します。</td>
    </tr>

    <tr>
      <td>`callback(&lt;null&gt;,&lt;false&gt;)`</td>
      <td>パスワード変更</td>
      <td>ユーザーのパスワードが更新されなかった場合に発生します。</td>
    </tr>

    <tr>
      <td>`callback(&lt;null&gt;)`</td>
      <td>ユーザー取得</td>
      <td>ユーザーが見つからなかった場合に発生します。</td>
    </tr>

    <tr>
      <td>`new UnauthorizedError(&lt;message&gt;)`</td>
      <td>すべて</td>
      <td>データベースへのアクセス中に問題が起きた場合に発生します。カスタムデータベースからフロントエンドにエラーを戻して伝えるときに推奨される方法です。</td>
    </tr>

    <tr>
      <td>`new Error(&lt;message&gt;)`</td>
      <td>すべて</td>
      <td>データベースへのアクセス中に問題が起きた場合に発生します。</td>
    </tr>

    <tr>
      <td>`error code: auth0_idp_error; user already exists`</td>
      <td>作成</td>
      <td>独自のレガシーIDストアまたはAuth0に既存のユーザーを作成しようとすると、レガシーIDストアで発生します。</td>
    </tr>

    <tr>
      <td>`error code: auth0_idp_error; user already exists`</td>
      <td>削除</td>
      <td>カスタムデータベーススクリプトを使ってユーザーを削除しようとすると、レガシーIDストアで発生します。次のエラーで表されることもあります：`Error! There was a problem deleting user@example.com`（エラー！[user@example.com](mailto:user@example.com)の削除中に問題が発生しました）または`Sandbox Error: Please implement the Delete script for this database connection at https://manage.auth0.com/#/connections/database`（Sandboxエラー：このデータベース接続に削除スクリプトを実装してください。）</td>
    </tr>
  </tbody>
</table>

<div id="return-errors">
  ## エラーを返す
</div>

エラーを返すには、**callback** 関数を呼び出して、\*\* error\*\* を最初のパラメーターとして渡します。

```javascript lines theme={null}
callback(error);
```

例：

```javascript lines theme={null}
callback(new ValidationError('email-too-long', 'Email is too long.'));
```

<div id="returning-errors-when-using-lock">
  ### Lockの使用時にエラーを返す
</div>

ロックの使用では、辞書に追加することで、表示される[エラーメッセージをカスタマイズ](/docs/ja-JP/ja-jp/customize/login-pages/classic-login/customize-lock-error-messages)することができます。

<div id="troubleshooting-errors">
  ## エラーのトラブルシューティング
</div>

スクリプトをテストするには、**［Try（試す）］** ボタンを使用します。

期待していた結果が得られなかった場合や、エラーを受け取った場合には、[Real-time Webtask Logs（リアルタイムWebtaskログ）拡張機能](/docs/ja-JP/ja-jp/customize/extensions/real-time-webtask-logs)をインストールして、スクリプトに`console.log()`ステートメントを使ってから、接続をもう一度試してください。［Real-time Webtask Logs（リアルタイムWebtaskログ）］ウィンドウに`console.log()`の出力が表示されます。

ユーザーをインポート・作成・削除するアクションスクリプトを使用すると、エラーが起きることがあります。`console.logs`を使って、エラーがアクションスクリプトの使用に起因するかどうかを調べます。詳細については、「[カスタムデータベースのアクションスクリプトテンプレート](/docs/ja-JP/ja-jp/authenticate/database-connections/custom-db/templates)」をお読みください。
