raise 能動的に例外を送出する
最終更新:2026-09-22
raise 能動的に例外を送出する
raise は能動的に例外を送出する(型とメッセージを指定するか、現在の例外を再送出できる)。
| カテゴリ | キーワード/文 |
|---|---|
| 種類 | キーワード/文 |
| Python バージョン | all |
📝 構文
raise [ExceptionType [from other]]
raise
▶ 例
下のコードを編集し「実行」をクリックすると、出力パネルに結果が表示されます:
実行結果:
caught: must be >= 0
🏷️ 関連するキーワード/文
💡 関連するケース
さらに多くのケースは近日公開予定です。
❓ よくある質問
Q`raise` と `assert` の違いは何ですか?
A`raise` は無条件に例外を投げ、入力検証やビジネスエラーの報告に使います。`assert` は条件が偽のときだけ `AssertionError` を投げ、しかも `python -O` で実行すると完全に無効になるため、正式な検証には向きません。
Q`except` ブロック内で何も付けない raise を書くとはどういう意味ですか?
A引数のない `raise` は今処理中の例外をそのまま、元の traceback を保持したまま再送出します。「ログを記録する、または掃除をしてから、例外を外へ伝搬させ続ける」ときによく使われます。
Q`raise ValueError('msg')` と `raise ValueError` の違いは何ですか?
A前者はエラーメッセージを持ち、呼び出し側が `str(e)` で理由を見られるためデバッグしやすいです。後者にはメッセージがありません。常に意味のあるメッセージを付けることをお勧めします。