日志 异常

异常:
异常类型:已经存在
异常产生的时机:系统产生
如果产生异常,程序中止:程序不健壮
给程序添加异常,使程序变得健壮
try:
 语句体
1/0
except 异常类型:
 处理语句
except 异常类型:
 处理语句

try:
 语句体
except (异常类型1,异常类型2):
 处理语句
except Exception:
 所有异常

try:
 语句体
except 异常类型 as 名称:
 print(名称)

try:
 语句体
except 异常类型 as 名称:
 print(名称)
else:
 没有异常才会执行的代码
在python2中,捕获所有异常的写法:
try:
except:
最终要执行的内容写在finally中:
try:
except:
else:
finally:一定会执行
练习:
定义一个方法:方法体如下,在此方法体内不进行异常处理
定义一个列表list1,通过下标访问最后一个元素,list1[len(list1)]


定义一个调用的方法:捕获异常
异常可以嵌套
自定义异常类:一般继承Exception
class sexException(Exception):
    pass
def dosex():
   sex=input("请输入性别:")
    if sex!='男' and sex!='女':
        raise sexException("性别只能为男或女")
try:
   dosex()
except sexException as se:
    print(se)


import logging
LOG_FORMAT = "%(asctime)s - %(levelname)s - %(message)s"
logging.basicConfig(filename='aaa.txt',level=logging.DEBUG,format=LOG_FORMAT)
def test():
    try:
        a=int(input("请输入一个被除数:"))
        b=int(input("请输入一个除数:"))
        print(a/b)
        return
    except (ValueError):
        #处理异常
        logging.debug("只能输入数字!")
    except ZeroDivisionError:
        logging.info("除数不能为0")
    else:
        print("else...")
    finally:
        print("程序结束")

猜你喜欢

转载自blog.csdn.net/Hai_peng_yu/article/details/80815933