https://blog.pyq.jp/entry/Python_kaiketsu_190124_1
こちらに"Pythonの場合、例外は外に伝播してくれます。"
とあります。
javaの場合呼び出し元の関数に例外を伝播させるにはthrowsを使うと思うのですが、pythonは呼び出し元に例外を伝搬させる際に
そういったことは不要なのでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
原文は、
Pythonの場合、例外は外に伝播してくれます。
もし関数の引数として期待しない値が来た場合や、ファイルが存在しない場合はPython自体をエラーにしてしまおうと言う場合は、try...exceptせずにそのまま例外を外に伝播させるほうが良いでしょう。
ですね。
Javaも、try
~catch
しない場合、自動的に外に伝播していきます。同じです。
投稿2020/12/06 15:54
編集2020/12/06 15:57総合スコア84798
0
ベストアンサー
pythonは呼び出し元に例外を伝搬させる際にそういったことは不要なのでしょうか?
Python だと throw に該当するのは raise
です。
raise 例外クラス()
で例外を送出できます。
例:
raise ValueError("error!!")
例外を補足するには呼び出し元で try~except 節を使います。
try: hoge() except ValueError: print("例外を補足")
投稿2020/12/06 15:52
編集2020/12/06 15:54総合スコア21956
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/06 16:53
2020/12/07 00:24
2020/12/07 00:49 編集
0
参考情報
- Python チュートリアル - 例外処理
https://www.delftstack.com/ja/tutorial/python-3-basic-tutorial/python-exception-handling/
- 例外処理(try文)とexception一覧
投稿2020/12/07 11:58
総合スコア22324
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/06 16:00
2020/12/06 16:28
2020/12/07 00:21
2020/12/07 08:51