python 基础---异常处理

it2022-05-05  159

程序一旦发生错误,就从错误的位置停下来了,不在继续执行后面的内容使用try和except就能处理异常 1 try: 2 被检测的代码块 3 except 异常类型: 4 try中一旦检测到异常,就执行这个位置的逻辑 try我们需要处理的代码except 后面跟一个错误类型 当代码发生错误且错误类型符合的时候 就会执行except中的代码支持多分支 Exception 万能的处理机制有了万能的处理机制仍然需要把能预测到的问题单独处理单独处理的所有内容都应该写在万能异常之前 else 没有异常的时候执行else中的代码finally 不管代码是否异常,都会执行 常用于文件、数据库等关闭finally和return相遇的时候 依然会执行函数里做异常处理用,不管是否异常去做一些收尾工作 举例: 1 ret = int(input('number:')) 2 print(ret)

 处理1:(except 后面跟一个错误类型 当代码发生错误且错误类型符合的时候 就会执行except中的代码

1 try: 2 ret = int(input('number:')) 3 print(ret) 4 except ValueError: 5 print("请输入数字")

处理2:(Exception万能处理,不需要错误类型

1 try: 2 ret = int(input('number:')) 3 print(ret) 4 except Exception: 5 print("请输入数字")

处理3:

1 try: 2 ret = int(input('number:')) 3 print(ret) 4 except Exception as error: 5 print('你错了,老铁',error)

处理4:(多分支)

1 s1 = 'hello' 2 try: 3 int(s1) 4 except IndexError as e: 5 print(e) 6 except KeyError as e: 7 print(e) 8 except ValueError as e: 9 print(e) 10 except Exception as e: 11 print(e)

处理5:(else和finally)

1 s1 = 'hello' 2 try: 3 int(s1) 4 except IndexError as e: 5 print(e) 6 except KeyError as e: 7 print(e) 8 except ValueError as e: 9 print(e) 10 #except Exception as e: 11 # print(e) 12 else: 13 print('try内代码块没有异常则执行我') 14 finally: 15 print('无论异常与否,都会执行该模块,通常是进行清理工作')

转载于:https://www.cnblogs.com/dzc18/p/9431926.html


最新回复(0)