0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Python3エンジニア基礎試験_模擬試験の復習⑨

0
Posted at

クリーンアップ動作について

クリーンアップ動作とは、システムリソースを管理する動作を指します。
クリーンアップ動作は、基本的に例外処理のあとに定義することが多く、finally節を使って記述します。

※例外のクラス階層について

clean_up.py
try:
    例外が起きそうなコード
except 例外の型 as 変数名:
    特定の例外が起きた場合に実行するコード
else:
    特定の例外が起きなかった場合に実行するコード
finally:
    常に実行するコード

問題

■ 次の実行結果を求めよ。

try.py
try:
    raise KeyboardInterrupt
except:
    print('Goodbye, world!')
# Goodbye, world!

● 解説

  1. try:ブロックが開始されます。
  2. raise KeyboardInterruptが実行されます。これにより、KeyboardInterruptという種類の例外が発生します。
  3. except:ブロックに移動します。ここでは例外の種類を指定していませんが、どの種類の例外でもキャッチされます。
  4. print('Goodbye, world!')が実行されます。この行では、"Goodbye, world!"というメッセージが表示されます

KeyboardInterruptが発生しましたが、それに対応する具体的な例外処理は行われていません。そのため、exceptブロック内のコードが実行され、"Goodbye, world!"というメッセージが表示されます。

※なお、exceptブロックで例外の種類を指定していないため、どの例外でもキャッチされます。ただし、一般的には特定の例外をキャッチするように指定することが推奨されます。

■ 次の実行結果を求めよ。

with.py
クリーンアップ動作を定義してあるオブジェクトに対して
クリーンアップ動作を保証した形で利用するための構文で適切なものはどれか
# with
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?