2021-03-13に投稿

Python エラーと例外 ErrorとException

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

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)     # => ()
Originally published at marusankakusikaku.jp
ツイッターでシェア
みんなに共有、忘れないようにメモ

maru3kaku4kaku

Pythonこつこつ学習中。よく忘れる。

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント