Python try...except Python Try Except try块使您可以测试代码块是否存在错误。 except块使您可以处理错误。 finally块使您可以执行代码,而不管try-except块的结果如何。 异常处理 当发生错误或异常时,Python通常会停止并生成错误消息。这些异常可以使用以下try语句处理: try块将生成一个异常,因为x未定义: try: print(x) except: print("An exception occurred") 复制尝试一下 由于try块引发错误,因此将执行except块。如果没有try块,程序将崩溃并引发错误: try块将生成一个异常,因为x未定义: print(x) 复制尝试一下 多个异常 您可以定义任意数量的异常块,例如,如果您要为特殊类型的错误执行特殊代码块: 如果try块引发一个NameError 错误,则打印一条消息,而其他错误则打印另一条消息: try: print(x) except NameError: print("Variable x is not defined") except: print("Something else went wrong") 复制尝试一下 else 如果未引发错误,则可以使用else关键字定义要执行的代码块: 在此示例中,try块不会产生任何错误: try: print("Hello") except: print("Something went wrong") else: print("Nothing went wrong") 复制尝试一下 finally 如果指定了finally块,则无论try块是否引发错误,都将执行该块。 在此示例中,try块不会产生任何错误: try: print(x) except: print("Something went wrong") finally: print("The 'try except' is finished") 复制尝试一下 这对于关闭对象和清理资源很有用: 在此示例中,try块不会产生任何错误: try: f = open("demofile.txt") #打开文件 f.write("Lorum Ipsum") #写入文件 except: #异常处理 print("Something went wrong when writing to the file") finally: f.close() # 关闭文件 复制尝试一下 程序可以继续运行,打开的文件对象已经被关闭。 引发异常 作为Python开发人员,您可以选择在条件发生时引发异常。要抛出(或引发)异常,请使用raise关键字。 如果x小于0,则引发错误并停止程序: x = -1 if x < 0: raise Exception("Sorry, no numbers below zero") 复制尝试一下 raise关键字用于抛出异常。您可以定义引发哪种错误,以及向用户显示文本。 如果x不是整数,则引发TypeError: x = "hello" if not type(x) is int: raise TypeError("Only integers are allowed") 复制尝试一下