异常的处理
# 异常(代码上的逻辑错误) # try: except: 基础异常处理语句 # try是我们正常执行的代码 # except 后面跟一个错误类,当try中的代码发生错误并且符合except的错误类型则会执行except中的代码 # except 支持多分支,try中发生一个错误时,try中的代码就结束了,则会取except中从上到下找符合的错误类型 # 找到后会执行except中的代码 # except Exception是一个万能的异常错误类型 # 正确的异常处理方法是多分支,对知道的异常错误进行except,最后在留一个万能的异常错误处理 # else 没有异常的时候执行else中的代码 # finally try中的代码不管执行是异常还是正常都会执行finally中的代码 # 即使try和except中有return,都是会先执行finally再执行return # 一般finally会在函数里做异常处理用,用来处理出现异常和未处理异常的收尾工作(如关闭数据库) # 一般情况下,对一些我们能够预想到的错误,但是还不知道如何处理的,则会使用异常处理机制,发生异常错误时进行提醒 # 什么时候使用异常处理,尽量少用,能用代码去杜绝的则用逻辑代码处理。 # 并且用的时候,要用在小段的代码中,不能用在大段的代码中 # #除非你的代码上线了,如果上线了,可以让程序出现任意一个错误时,都直接退出(闪退) # try: # ret = int(input('number >>>')) # print(ret * '*') # except ValueError: # print('您输入的内容有误,请输入一个数字') # except IndexError: # print('超出索引长度') # 正确的异常处理方法是多分支,对知道的异常错误进行except,最后在留一个万能的异常错误处理(针对不知道的异常错误) # try: # ret = int(input('number >>>')) # print(ret * '*') # except ValueError: # 对自己知道的可能出现的异常进行针对处理 # print('您输入的内容有误,请输入一个数字') # except IndexError: # print('超出索引长度') # except Exception: # 万能的异常接收 # print('您输入的内容有误') # try: # ret = int(input('number >>>')) # print(ret * '*') # except ValueError: # 对自己知道的可能出现的异常进行针对处理 # print('您输入的内容有误,请输入一个数字') # except IndexError: # print('超出索引长度') # except Exception: # 万能的异常接收 # print('您输入的内容有误') # else: # 没有异常的时候,执行else中的代码 # print('----------------------') # try: # ret = int(input('number >>>')) # print(ret * '*') # except ValueError: # 对自己知道的可能出现的异常进行针对处理 # print('您输入的内容有误,请输入一个数字') # except IndexError: # print('超出索引长度') # except Exception: # 万能的异常接收 # print('您输入的内容有误') # else: # 没有异常的时候,执行else中的代码 # print('----------------------') # finally: # try中的代码不管执行是异常还是正常都会执行finally中的代码 # print('++++++++++++++++++') # # # def func(): # try: # f = open('aaa', 'w') # print('打开一个wenjian') # for line in f: # int(line) # return True # except Exception: # print('文件操作发生了异常') # return False # finally: # try中的代码不管执行是异常还是正常都会执行finally中的代码,可以用来关闭文件.即使try和except有return,都是会先执行finally在执行return # f.close() try: ret = int(input('number >>>')) print(ret * '*') except Exception as error: # 万能的异常接收 ,加上as error,当出现异常后,可以将error打印出来,看是什么内容导致的报错 print('您输入的内容有误', error)