chap11 (python全栈开发教程)

 2022.11.9

1.bug的由来及分类——异常处理机制

# bug的由来及分类
'''①粗心导致的语法错误'''
age=input('请输入您的年龄')
print(type(age))
if int(age)>=18:
    print('成年人')

i=0
while i <10:
    print(i)
    i+=1

'''②知识点不熟练导致的错误'''
lst=[11,22,33,44]
print(lst[3])

lst=[]
lst.append('A')
lst.append('B')
lst.append('C')
print(lst)

'''③思路不清导致的问题
   print()、注释#     '''

lst=[{'rating':[9.7,2062397],'id':'1292052','type':['犯罪','剧情'],'title':'肖申克的救赎','actors':['蒂姆·罗宾斯','摩根·弗里曼']},
     {'rating':[9.6,1528760],'id':'1291546','type':['剧情','爱情','同性'],'title':'霸王别姬','actors':['张国荣','张丰毅','巩俐','葛优']},
     {'rating':[9.5,1559181],'id':'1292720','type':['剧情','爱情'],'title':'阿甘正传','actors':['汤姆·汉克斯','罗宾·怀特']}
     ]

name=input('请输入你要查询的演员:')
for item in lst:    # 遍历列表  --> {} item是一个又一个的字典
    act_lst=item['actors']
    for actor in act_lst:
        if name in actor:
            print(name,'出演了',item['title'])

'''④被动掉坑---异常处理机制'''
'''try   except'''
try:
    a=int(input('请输入第一个整数'))
    b=int(input('请输入第二个整数'))
    result=a/b
    print('结果为:',result)
except ZeroDivisionError:
    print('对不起,除数不允许为0')
except ValueError:
    print('只能输入数字串')
print('程序结束')

'''try  except  else'''
try:
    a=int(input('请输入第一个整数'))
    b=int(input('请输入第二个整数'))
    result=a/b
except BaseException as e:  #  BaseException--将所有可能出现的情况都进行捕获,给它起了一个别名e
    print('出错了',e)
else:
    print('计算结果为:', result)

'''try  except  else  finally'''
try:
    a=int(input('请输入第一个整数'))
    b=int(input('请输入第二个整数'))
    result=a/b
except BaseException as e:  #  BaseException--将所有可能出现的情况都进行捕获,给它起了一个别名e
    print('出错了',e)
else:
    print('计算结果为:', result)
finally:
    print('谢谢您的使用')

2.python中常见的异常类型

# 1.python中常见的异常类型
# ①数学运算异常
# print(10/0)   # ZeroDivisionError

lst=[11,22,33,44]
# print(lst[4])   # IndexError  索引从0开始的

dic={'name':'张三','age':20}
# rint(dic['gender'])   # KeyError

# print(num)   # NameError

# int a=20   # SyntaxError 变量没有数据类型 不承认这种写法

# a=int('hello')   # ValueError

3.python的异常处理机制

# 2.python的异常处理机制
# print(10/0)
import traceback
try:
    print('---------------------------------')
    print(1/0)
except:
    traceback.print_exc()    # 调用traceback这个模块
# 将异常信息存到日志文件中

4.pycharm的调试模式:断点、进入调试视图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值