トピックを学ぶ:例外処理
学習日: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
>>>