プログラムの実行中に発生したエラーを管理するために、例外オブジェクトを使用します。
異常のtry-除くブロックが処理されます。
1.はじめに
- 異常を探します
print(5/0)
- :異常な文法解説
try文の実行中にエラーが発生しやすいコードは、
エラーがない場合:他の残りのコードを実行する以外の文の内容をスキップします。
エラーが報告されている場合は、次の一つ一つは1、以外背中の種類に対応したエラーを検索します。コードエラーのこのブロックに対応するエラーを検索します。残留ブロックを実行します。2。対応するエラーが検出されない、エラーが残りのコードブロックを実行しません。 - 例:
try:
print(5/0)
except ZeroDivisionError:
print("除数不能为0")
2.elseコードブロック:
elseブロック文が時間を与えられていないされている場合にのみ、print文を実行します役割で使用してください。
あなたがelse文を使用しない場合は、関係なく、エラーのステートメント実行を印刷したり、与えられていません。
try:
要测试的语句
except 异常类型:
引发异常后的操作
else:
没引发异常时的操作
EG:
1。除数がゼロで異常することはできません
try:
result = 6/2
except ZeroDivisionError:
print("除数不能为o")
else:
print(result) #不引发异常时时,才执行。
print("程序执行完毕!") #不管是否引发异常都会执行。
2。ファイルに異常が見つかりません
try:
with open('file.txt') as f:
content = f.read()
except FileNotFoundError:
print("文件找不到")
else:
print("问价内容是:"+content)
3。例:テキスト分析
def count_words(filename):
"""计算一个文件大致包含多少个单词"""
try:
with open(filename) as f:
contents = f.read()
except FileNotFoundError:
msg="sorry,the file"+filename+"does not exist."
print(msg)
else:
#计算文件大致包含多少个单词
words = contents.split() #以空格分割文本,生成列表。
numbers = len(words)
print("the file "+filename+"has about"+str(numbers)+"words.")
filenames = ['a1.txt','a2.txt','a3.txt','a4.txt'] #其中有的文件不存在,也不影响程序。
for filename in filenames:
count_words(filename)
4.pass声明
パス文はまた、プレースホルダとして機能することができ、何もしない表現しました。
a = 2
if a == 2:
print("a是2")
else:
pass
print("it is over!")