一、异常
1.什么是异常
通常来说,当我们尝试做一件事情的时候,在这个过程中有可能会发生一些意外情况影响程序的执行,这种情况就称之为异常。要注意的是:异常不是错误
。
二、日志
打印日志是很多程序的重要需求,良好的日志输出可以帮我们更方便的检测程序运行状态。Python标准库提供了logging模块,让我们也可以方便的在Python中打印日志。
1.日志级别
日志一共分成5个等级,从低到高分别是:DEBUG INFO WARNING ERROR CRITICAL。
DEBUG:详细的信息,通常只出现在诊断问题上
INFO:确认一切按预期运行
WARNING:一个迹象表明,一些意想不到的事情发生了,或表明一些问题在不久的将来(例如。磁盘空间低”)。这个软件还能按预期工作。
ERROR:更严重的问题,软件没能执行一些功能
CRITICAL:一个严重的错误,这表明程序本身可能无法继续运行
这5个等级,也分别对应5种打日志的方法: debug 、info 、warning 、error 、critical。默认的是WARNING,当在WARNING或之上时才被跟踪。
2.日志打印
打印日志(也就是输出日志)有两种方式,第一种是输出到控制台,第二种是输出到日志文件。
2.1输出到控制台
----------异常--------------------
#try: # beichushu=int(input("请输入被除数:")) # chushu=int(input("请输入被除数:")) # shang=beichushu/chushu #except ValueError: # print("除数不能为零") #print("程序结束") try: list1=[2,3,6,1] list1[len(list1)] except IndexError: print("数列") print("数字") #------日志-------- def listdemo(list1): try: list1[len(list1)] except IndexError: print("下标越界") def testList(): list1=[1,2,3] listdemo(list1) testList() #自定义异常:一般继承Exception class sexException(Exception): pass def dosex(): sex=int(input("请输入年龄:")) if sex<100: raise sexException("年龄只能在100之内") try: dosex() except sexException as x: print(x)