Pythonの研究ノート(32-33)の異常や例外処理(添付:Pythonの標準の例外の概要)

トピックを学ぶ:例外処理
学習日:2020年2月9日
Pythonのバージョン:3.7.4

人々 errはあまりにも人間です。
例外は間違っている、異常動作は、結果がエラーにつながる操作のプログラマやユーザかもしれません。

私たちは、使用するビューや習慣のプロポイントをユーザーに強制することはできません。
したがって、我々はプログラムの適用性を向上させるためには、誤用に起因するプログラムエラーを検討してください。

32発言のpython標準の例外の概要
ここに画像を挿入説明
ここに画像を挿入説明

フルバージョン、クリックしてくださいhttps://fishc.com.cn/thread-45814-1-1.html

それのいくつかの例

  • NameError
>>> a
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    a
NameError: name 'a' is not defined
#这里提示是NameError,查看上表原因是,
#尝试访问一个不存在的变量
  • 構文エラー
>>> for ii in range(2)
SyntaxError: invalid syntax
#这里提示是SyntaxError,查看上表原因是语法错误
#仔细查代码,原因是for最后没有加冒号‘:’。

例外を処理する方法をレクチャー33

file=open('alexma.txt','r')
file.read()
file.close()

ここに画像を挿入説明
エラーは、このファイルは、単に存在しないため。
だから、プロンプトFileNotFoundError。

声明以外試みを使用するために、それを回避する方法

try:
    file=open('alexma.txt','r')
    file.read()
    file.close()
except OSError:
    print('文件出错!')

ここに画像を挿入説明
そして、それを絞り込みます:

try:
    file=open('alexma.txt','r')
    file.read()
    file.close()
except OSError as ErrorReason:
    print('文件出错!,原因是:'+str(ErrorReason))

ここに画像を挿入説明
でもすごい、これはまた、なぜエラー、それほど大きくな理由をプリントアウト!

エラーの様々な種類が、それは、どのようにそれを追加します。

try:
    a=1+b
    file=open('alexma.txt','r')
    file.read()
    file.close()
except OSError as ErrorReason:
    print('文件出错!,原因是:'+str(ErrorReason))
except NameError as ErrorReason:
     print('命名错误,,原因是:'+str(ErrorReason))

ここに画像を挿入説明
エラー一度声明を除いてみてください、そして、プログラムが実行され、次にまで行くことはありません。

それを避けるために、どのように、あなたはまた、finally文を試す使用することができます

最終的には使用をしてみてください

try
    检测范围
except Exception  [as ErrorReason]:
    出现异常后的处理代码,这里一般是提醒报错的代码
finally
     无论如何都会被执行的代码

例えば、右

try:
    file=open(r'C:\Users\SNIPER\Desktop\mydemo、alexma.txt','w')
    file.write('I am alexma')
    b=b+1
    file.close()
except OSError as ErrorReason:
    print('文件出错!,原因是:'+str(ErrorReason))
except NameError as ErrorReason:
     print('命名错误,,原因是:'+str(ErrorReason))

次のように最終的には、実行がない場合は、次の
ここに画像を挿入説明
ここに画像を挿入説明
コード行が実行されていない2つのスクリーンショット以上の結果を、これは)B、プログラムが終了するので、file.close(名前は定義されていない思い出させてくれ、
このステップを実行していない、コンテンツが保存されませんファイルは、ファイルが空です。

このファイルには、多くの場合、[OK]を最後に実際のプログラミングで発生し、プラス空の問題であり、

try:
    file=open(r'C:\Users\SNIPER\Desktop\mydemo\alexma.txt','w')
    file.write('I am alexma')
    b=b+1  
except OSError as ErrorReason:
    print('文件出错!,原因是:'+str(ErrorReason))
except NameError as ErrorReason:
     print('命名错误,,原因是:'+str(ErrorReason))
finally:
     file.close()

ここに画像を挿入説明
ここに画像を挿入説明
この時間は、コンテンツをテキストファイルに保存されます。

raise文

>>> a=1
>>> b=0
>>> a/b
Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    a/b
ZeroDivisionError: division by zero
>>> raise ZeroDivisionError('除数不能为0')
Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    raise ZeroDivisionError('错啦,记住除数不能为0')
ZeroDivisionError: 除数不能为0
>>> 

ここに画像を挿入説明

公開された79元の記事 ウォン称賛55 ビュー8964

おすすめ

転載: blog.csdn.net/hahahahhahha/article/details/104237473