Python3エンジニア認定基礎試験 第8章 エラーと例外 予想問題と解説
Python3エンジニア認定基礎試験「第8章 エラーと例外」の予想問題を5問収録しています。各問を解説つきで掲載し、全問は演習画面で解けます。公式シラバスの範囲で作成しています。
この章の要点
例外処理の構造・構文エラーと例外・クリーンアップ動作などを扱う分野です。全5問(標準5問)を収録しています。
- 例外処理の構造
- 構文エラーと例外
- クリーンアップ動作
情報源と編集区分
公式範囲を確認し、問題数・難易度・確認点は当サイトが集計・編集。 一次情報確認日: 2026-09-11。
試験概要(公式)確認しておきたいポイント
当サイトの作問時に観察した、取り違えやすい論点です(公式の統計ではありません)。
- finally と except と else の役割の混同。finally は例外の有無にかかわらず必ず実行され、except は一致する例外が起きたとき、else は例外が起きなかったときに実行される。
- else 節を置く位置。すべての except 節よりも後ろに置く必要がある。
- 複数の except 節があるとき、最初に一致した節だけが実行されること。
- 構文エラーと例外の取り違え。構文エラーは構文解析の段階で検出される。公式チュートリアルは例外について「たとえ文や式が構文的に正しくても、実行しようとしたときにエラーが発生するかもしれません。実行中に検出されたエラーは例外と呼ばれ、常に致命的とは限りません」と述べている。try 文で受けられるのは後者だけである。
この章の関連用語
この分野の問題で扱う用語です。意味があいまいなものは、用語集で定義を確認できます。
よくある質問
Q第8章 エラーと例外は何問収録されていますか?
現在5問を収録しています。内訳は標準5問です。
Q第8章 エラーと例外の頻出論点は何ですか?
例外処理の構造・構文エラーと例外・クリーンアップ動作などが出題対象です(当サイト収録問題に基づく編集部集計)。
Q間違えた問題はどう復習すればいいですか?
誤答した選択肢のどこがずれていたかを解説で確認し、関連用語がある場合は用語集で定義に戻ってから再演習することをおすすめします。
try 文の finally 節の性質として正しいものはどれか。
答えと解説を見る
正解は「例外が発生したかどうかにかかわらず、必ず実行される」である。finally 節は後片づけのための節で、try の中で例外が起きた場合も起きなかった場合も実行される。例外が発生したときだけ実行されるのは except 節で、finally とは役割が違う。例外が発生しなかったときだけ実行されるのは else 節である。except 節の有無によって finally の実行が変わることもない。
構文エラーと例外の違いとして正しいものはどれか。
答えと解説を見る
正解は「構文エラーは解析の時点で検出され、例外は実行中に発生する」である。構文エラーは書き方そのものが文法に合っていない場合に解析の段階で検出されるため、プログラムは実行されない。例外は文法としては正しいプログラムを実行している途中で起きるもので、try 文で捕まえて処理できる。構文エラーは実行前に検出されるため try で捕まえる対象にはならない。どちらも解析の時点で検出されるわけでもなく、例外が警告にとどまるわけでもない。
try 文に except 節が複数あるとき、実行される節の数はどれか。
答えと解説を見る
正解は「最初に一致した節だけが実行される」である。公式チュートリアルは複数の except 節がある場合について、最初に一致した節だけが実行されると述べている。そのため節を並べる順序が意味を持ち、広い範囲を受ける節を先に置くと後ろの節に到達しなくなる。一致したすべての節が実行されるわけではなく、最後に一致した節が選ばれるわけでもない。一致の有無にかかわらず実行されるのは finally 節である。
try 文の else 節を置く位置として正しいものはどれか。
答えと解説を見る
正解は「すべての except 節よりも後ろ」である。公式チュートリアルは try 文の else 節について、すべての except 節よりも後ろに置く必要があると述べている。else 節は try 節で例外が送出されなかったときに実行される部分で、except 節より前に置くことはできない。finally 節より後ろでもなく、try 文の外側に書くものでもない。
try 節の中で return に達したとき、finally 節はどうなるか。
答えと解説を見る
正解は「return を実行する直前に finally 節が実行される」である。公式チュートリアルは、try 節が break・continue・return 文に達した場合、その実行直前に finally 節が実行されると述べている。finally 節は後片づけのための節なので飛ばされることはない。値が返されたあとに実行されるのでもなく、return があるからといって finally 節を書けないという制限も無い。