Mojo Academy · レッスン

エラーを発生させる

問題が発生したことを通知します

レッスン 1/413 ステップ

「エラーを発生させる」はCoddyKit上の無料Mojo Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはMojo Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Mojo Academyコースには全4レッスンが含まれています。

問題が起きたとき

ファイルが見つからない、入力が不正であるなど、関数が処理できない状況に遭遇することがあります。Mojoではerrorを使って、そのことを通知できます。⚠️

raiseキーワード

失敗を通知するには、raiseキーワードを使います。現在の処理を停止し、問題が発生したことを報告します。

raise Error("something went wrong")

エラーにはメッセージを付ける

raiseするときは、問題を説明する短いメッセージを渡します。エラーを処理する側は、そのテキストを読むことができます。

raise Error("file not found")

関数内でraiseする

入力が無効な場合、関数はraiseできます。ここでは、それ以上の処理を行う前に負の金額を拒否しています。

fn withdraw(amount: Int) raises:
    if amount < 0:
        raise Error("amount must be positive")

raiseは実行を停止する

raiseが実行されると、関数の残りの処理はスキップされます。制御は関数の外へ移り、エラーを処理できるコードを探します。

-1を返すだけではいけない理由

-1のような特別な値を返す方法は、簡単に無視されてしまいます。errorは暗黙に無視できないため、失敗を見落としにくくなります。

エラーは上へ伝わる

処理されていないエラーは、どこかで捕捉されるまで呼び出し元を通って上へ伝わり続けます。これを伝播と呼びます。

入力を検証する

不正な入力に対して早い段階でraiseするのは、良い習慣です。まず値を確認し、本来のロジックが実行される前にraiseしてください。

if name == "":
    raise Error("name is required")

明確な理由を示す

各raiseには、明確で具体的なメッセージを付けてください。適切な文面があれば、クラッシュをデバッグに役立つ手がかりに変えられます。

エラーはクラッシュではない

発生したerrorは、無秩序なクラッシュではなく、構造化された通知です。プログラムは終了するだけでなく、そこから復旧できます。

続行できないときにraiseする

原則として、関数が正しく処理を完了できない場合にだけraiseします。通常の結果に対してraiseしてはいけません。

確認問題

Mojoでraiseキーワードが実際に行うことを考えてみましょう。

まとめ

raiseを使って失敗を通知し、明確なメッセージを付け、特別な値を返す代わりにエラーによって不正な処理を停止させる方法を学びました。🎯

無料で開始

AI チューターと学ぶ Mojo — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「エラーを発生させる」レッスンは無料ですか?

はい。「エラーを発生させる」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Mojo Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Mojo Academyコースには全4レッスンが含まれています。

「エラーを発生させる」で何を学びますか?

問題が発生したことを通知します ブラウザで直接実行するハンズオンコードでMojo Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Mojo Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのMojo Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「エラーを発生させる」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このMojo Academyレッスンでコードを書いて実行できますか?

はい。すべてのMojo Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. エラーを発生させる
  2. try/exceptで捕捉する
  3. raisesアノテーション
  4. finallyによる後処理
← Mojo Academyに戻る