Pythonのエラーと例外について解説します。
Pythonの構文解析中にエラーが発生するとSyntaxError
が送出される。
a = 123"
# => SyntaxError: EOL while scanning string literal
インデントが正しくない場合はSyntaxError
のサブクラスIndentationError
のエラーが送出する。
if 1 == 1:
print(1)
print(2)
# => IndentationError: unindent does not match any outer indentation level
Python実行時のエラーは、例外(exception)と呼ばれます。
try-finally, try-except-else-finally文
で例外が発生した場合の処理を管理できる。
try:
number = 10 / 0
#""/ 2
except ZeroDivisionError as e:
print(e)
except TypeError as e :
print(e)
except Exception as e:
print(e)
else:
print("else")
finally:
print("finally")
raise
で例外を発生させることができる。
try:
raise Exception('SomeException','SomeArgs')
except Exception as ex:
print(type(ex)) # => <class 'Exception'>
print(ex.args) # => ('SomeException', 'SomeArgs')
print(ex) # => ('SomeException', 'SomeArgs')
raiseの後に型名を指定しても例外を送出できる。
try:
raise ValueError
except Exception as ex:
print(type(ex)) # => <class 'ValueError'>
print(ex.args) # => ()
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント