エラーとエラー処理について
【開発環境】
OS:Win10(64ビット)
言語:Python3.8.5(64bit)
Python の統合開発環境:IDLE
IDLEの操作は別サイト参照のこと
【エラーを発生させる】
定義してない変数を指定すると、pythonはエラー表示する
Python 3.8.5 (tags/v3.8.5:580fbb0, Jul 20 2020, 15:57:54) [MSC v.1924 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> print(test_str)
Traceback (most recent call last):
File "
print(test_str)
NameError: name 'test_str' is not defined
>>>
解説
Traceback (most recent call last):
→エラーの発生を告げる
File "
→エラーが発生した場所と行番号
name 'test_str' is not defined #(「'test_str」は定義されてない)
→エラーの種類:エラー内容
例文2
「error_test.py 」ファイルを実行すると、エラー表示される
Python 3.8.5 (tags/v3.8.5:580fbb0, Jul 20 2020, 15:57:54) [MSC v.1924 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>>
======================== RESTART: D:/Data/error_test.py ========================
エラー内容
Traceback (most recent call last):
File "D:/Data/error_test.py", line 2, in <module>
print(sys.argv[3])
IndexError: list index out of range
>>>
「error_test.py 」ファイルの内容
import sys
print(sys.argv[3])
【エラーの処理】
・try~excepを使ったエラー処理のついて
下記のコードを「error_test.py 」ファイルに保存し、実行する
サンプルコード
x = 1
y = 0
try:
z = x / y
except:
print('例外発生!ゼロで割ることはできません')
print('実行が終了しました')
実行
Python 3.8.5 (tags/v3.8.5:580fbb0, Jul 20 2020, 15:57:54) [MSC v.1924 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>>
======================== RESTART: D:\Data\error_test.py ========================
例外発生!ゼロで割ることはできません
実行が終了しました
>>>
try~excepを使わない場合
下記のコードを「error_test2.py 」ファイルに保存し、実行する
・サンプルコード
x = 1
y = 0
z = x / y
print('実行が終了しました')
最後まで実行されない。
======================== RESTART: D:/Data/error_test2.py =======================
Traceback (most recent call last):
File "D:/Data/error_test2.py", line 3, in <module>
z = x / y
ZeroDivisionError: division by zero
>>>
※コメント投稿者のブログIDはブログ作成者のみに通知されます