语法
1 try: 2 # 可能引发异常的代码 3 except ExceptionType1: 4 # 处理第一种异常的代码 5 except ExceptionType2: 6 # 处理第二种异常的代码 7 except: 8 # 处理其他所有异常的代码 9 finally: 10 # 无论是否发生异常,都会执行的代码
在上述语法中,ExceptionType1
和ExceptionType2
是具体的异常类或异常类的基类。你可以根据需要定义和处理不同类型的异常(注意顺序)。
在try
块中的代码可能引发的异常会被逐个匹配到相应的except
块。如果发生了与except
块中指定的异常类型匹配的异常,就会执行该except
块中的代码。如果没有匹配到任何except
块,异常将传播到上一级调用者或全局范围。
最后,finally
块中的代码始终会执行,无论是否发生了异常。它通常用于释放资源或执行清理操作。
示例
1 try: 2 num1 = int(input("请输入第一个数字: ")) 3 num2 = int(input("请输入第二个数字: ")) 4 result = num1 / num2 5 print("结果:", result) 6 except ValueError: 7 print("请输入有效的整数") 8 except ZeroDivisionError: 9 print("除数不能为零") 10 except Exception as e: 11 print("发生了未知异常:", str(e)) 12 finally: 13 print("程序结束")
使用一个关键字except捕获多个异常(不推荐)
1 ''' 2 当我们想要使用一个except语句来捕获多个异常时,可以将这些异常类型作为元组传递给except关键字。 3 这样,如果发生的异常类型与元组中的任何一个匹配,就会执行相应的代码块。 4 语法: 5 try: 6 # 可能引发异常的代码 7 except (ExceptionType1, ExceptionType2, ...): 8 # 处理多个异常的代码 9 (ExceptionType1, ExceptionType2, ...)是一个包含多个异常类型的元组。当发生的异常类型与元组中的任何一个匹配时,就会执行相应的except块中的代码 10 ''' 11 12 try: 13 num1 = int(input("请输入第一个数字: ")) 14 num2 = int(input("请输入第二个数字: ")) 15 result = num1 / num2 16 print("结果:", result) 17 except (ValueError, ZeroDivisionError): 18 print("输入无效或除数不能为零") 19 except Exception as e: 20 print("发生了未知异常:", str(e)) 21 finally: 22 print("程序结束")
标签:多组,代码,except,try,处理,finally,print,异常 From: https://www.cnblogs.com/allenxx/p/17572946.html