Kodrill

Python 3 エンジニア認定実践試験 / Python の言語仕様 ・ 無料問題 4/5

Python の言語仕様 問題4[例外処理と with 文]

次のコードを実行したときの出力を選んでください。

Python
try:    try:        int("abc")    except ValueError as e:        raise RuntimeError("変換に失敗") from eexcept RuntimeError as e:    print(type(e.__cause__).__name__)

選択肢

  • A.NoneType
  • B.ValueError正解
  • C.TypeError
  • D.RuntimeError

解説実行して確認済み

raise 新しい例外 from 元の例外 と書くと、元の例外が新しい例外の __cause__ 属性に設定されます (例外の連鎖)。ここでは int("abc") の ValueError が RuntimeError の __cause__ になるので、ValueError と出力されます。トレースバックにも両方の例外が表示されます。

この問題の答えは、試験の対象バージョンでコードを実際に実行して確かめています。確かめ方は運営者情報に書いています。

「Python の言語仕様」の要点を解説記事で読む

「Python の言語仕様」の無料問題

ここで公開しているのは無料範囲の問題です。無料登録すると、解答の記録・ダッシュボードでの復習ができ、 プレミアムならこの問題セットの全問題と本番形式の模擬試験も解けます。