エラーを発生させる
問題が発生したことを通知します
「エラーを発生させる」は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フィードバックを取得できます。ローカル設定は不要です。