异常的处理

# 异常(代码上的逻辑错误)
    # 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)

 

posted @ 2018-09-24 15:05  _小溢  阅读(144)  评论(0)    收藏  举报