職案人

求職・歴史・仏教などについて掲載するつもりだが、自分の思いつきが多いブログだよ。適当に付き合って下さい。

エラーとエラー処理

2021年03月21日 | Python
エラーとエラー処理について

【開発環境】
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 "", line 1, in <module>
print(test_str)
NameError: name 'test_str' is not defined
>>>
解説
Traceback (most recent call last):
→エラーの発生を告げる
File "", line 1, in <module> #一行目
→エラーが発生した場所と行番号
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
>>>
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする