🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

2回答

3579閲覧

pythonの問題を解説してほしい3

oinari03

総合スコア59

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2019/11/13 07:13

問題文のプログラムを実行した場合の、出力結果を選びなさい

python

1print("出力結果:") 2try: 3 raise Exception("開始前","Exception発生") 4 print("開始") 5except IOError as msg: 6 print("IOError発生:",msg.args[0]) 7except Exception as msg: 8 print("予期せぬ問題発生:",msg.args[1]) 9else: 10 print("Else表示")

正解: 出力結果:予期せぬ問題発生: Exception発生

考えたこと・質問

raiseは強制的に問題を発生させる点からExceptionを呼び出している。
それに当たるのがException as msgであるため 、予期せぬ問題発生は出るだろう。そしてmsg.args[1]から 開始前ではなく、Exception発生と言うのもわかります。
ですが、else?ってなんだ?みたいになりました。
質問として、私の考えがあっているのか、ここでのelseの使い方、このコードの仕組みなどを教えてほしいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ですが、else?ってなんだ?みたいになりました。

Pythonのリファレンスに書かれているとおりです。例外が起きなかった場合だけ実行されます。

try ... except 文には、オプションで else 節 (else clause) を設けることができます。 else 節を設ける場合、全ての except 節よりも後ろに置かなければなりません。 else 節は try 節で全く例外が送出されなかったときに実行されるコードを書くのに役立ちます。

投稿2019/11/13 07:17

maisumakun

総合スコア145975

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

else は例外が起こらなかった時に通る処理です。

raiseを投げなければそこに入るんじゃないでしょうか。
試してみましたか?

python

1print("出力結果:") 2try: 3 print("開始") 4except IOError as msg: 5 print("IOError発生:",msg.args[0]) 6except Exception as msg: 7 print("予期せぬ問題発生:",msg.args[1]) 8else: 9 print("Else表示")
出力結果: 開始 Else表示

投稿2019/11/13 07:15

編集2019/11/13 07:16
azuapricot

総合スコア2341

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問