第7章 1 异常处理
2023-12-28 14:08:31
bug的由来及分类 p81
字符串形式表示的数字之间也可以比较大小
import re
age=input('年龄:')
if age>'18':
print(age)
列表的append操作每次只能添加一个元素:
lst=[]
lst.append('A')
lst.append('B')
# lst.append('A','B') 错误
python中的异常处理机制 p82
try…except的语法结构:
try:
可能会抛出异常的代码
except 异常类型:
异常处理代码(报错后执行的代码)
代码实例:
try:
num1=int(input('请输入一个整数:'))
num2=int(input('请输入另一个整数:'))
result=num1/num2
print('结果:{0:.2f}'.format())
except ZeroDivisionError:
print('除数为0')
'''
第2个输入为0的时候,会走到except异常分支。
但若输入的不是整数,包含了其它字符,还是会运行报错。
解决方法见下一种语法结构。
try…except…except的语法结构:
try:
可能抛出异常的代码
except 异常类型A:
异常处理代码(报错后执行的代码)
except 异常类型B:
异常处理代码(报错后执行的代码)
代码实例:
try:
num1 = int(input('请输入一个整数:'))
num2 = int(input('请输入另一个整数:'))
result = num1 / num2
print('结果:{0:.2f}'.format(result))
except ZeroDivisionError:
print('除数不能为0')
except ValueError:
print('不能将字符串转为整数')
except BaseException:
print('未知异常')
try…except…else的语法结构为:
try:
可能会抛出异常的代码
except 异常类型:
异常处理代码(报错后执行的代码)
else:
没有抛异常要执行的代码
代码实例:
try:
num1 = int(input('请输入一个整数:'))
num2 = int(input('请输入另一个整数:'))
result = num1 / num2
# print('结果:{0:.2f}'.format(result))
except ZeroDivisionError:
print('除数不能为0')
except ValueError:
print('不能将字符串转为整数')
except BaseException:
print('未知异常')
else:
print('结果:{0:.2f}'.format(result)) # 把第五航执行成功打印的语句挪到此处,也是可以的
try…except…else…finally的语法结构:
try:
可能会抛出异常的代码
except 异常类型:
异常处理代码(报错后执行的代码)
else:
没有抛异常要执行的代码
finally:
无论是否产生异常都要执行的代码
raise关键字的使用 p83
raise:抛出一个异常,从而提醒程序出现了异常情况,程序能够正确的处理这些异常情况
语法结构:
raise Exception类型(异常描述信息)
代码实例:
try:
gender=input('请输入您的性别:')
if gender!='男' and gender!='女':
raise Exception('性别只能是男或女') # 此处抛出异常,然后被第七行捕获
else:
print('您的性别是:{0}'.format(gender))
except Exception as e:
print(e)
Python中常见的异常类型 p84
异常类型 | 描述说明 |
---|---|
ZeroDivisionError | 当除数为0时,引发的异常 |
IndexError | 索引超出范围所引发的异常 |
KeyError | 字典取值时key不存在的异常 |
NameError | 使用一个没有声明的变量时引发的异常 |
SyntaxError | Python中的语法错误 |
ValueError | 传入的值错误 |
AttributeError | 属性或方法不存在的异常 |
TypeError | 类型不合适引发的异常 |
IndentationError | 不正确的缩进引发的异常 |
代码实例:
# ZeroDivisionError
#print(10/0)
# IndexError
#lst=[10,20]
#print(lst[2])
# KeyError
#d={'a':1}
#print(d['b'])
# NameError
#print(a)
# SyntaxError
#print('a)
# ValueError
# int('a')
# AttributeError
#i=10
#print(i.name) 整数没有这个属性
# TypeError
#print('hello'+123)
# IndentationError
print('不在if里面就不能缩进')
PyCharm的程序调试 p85
1、设置断点:点击行号,设置断点到对应位置处
2、进入代码调试窗口:a.点击右上角小虫子 b.shift+f9 c.右键+debug main
下面会生成四个窗口:变量查看窗口、调试控制窗口、线程控制窗口、程序控制窗口
文章来源:https://blog.csdn.net/engineer0/article/details/135248742
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!