首页 / PYTHON / python --异常处理与调试
python --异常处理与调试
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python --异常处理与调试,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2157字,纯文字阅读大概需要4分钟。
内容图文
一、异常处理
针对在运行时可能会出错的语句块,可以提前设计好出现问题后的解决方案,
或者给出相应的提示信息。使用try…except语句来处理Python抛出的异常:
# -----------------------------------------
# 异常捕获
# -----------------------------------------
# 在except语句中使用pass语句,忽略发生的异常
list1 = ['100', '200', '三百', '四百', '500']
total = 0
for e in list1:
try:
total = total + int(e)
except:
pass
print(total)
# 文件不存在
try:
file = open("config.txt", "r")
except FileNotFoundError:
print("文件不存在!")
# 用户按下Ctrl+C组合键时抛出键盘中断异常
pwd = 888 # 用户密码
num = -1 # 输入密码
times = 0 # 密码输入的错误次数
while num != pwd:
try:
num = int(input("请输入三位数字的密码:"))
except ValueError:
print("请确认输入的是数字!")
continue
except: # 万能异常捕获
print("退出")
break
if num != pwd:
print("密码错误!")
times += 1
if times >= 3:
print("密码错误超过3次,请明天再试!")
break
else:
continue
else:
print("密码正确!")
else:
print("登录成功!")
# 使用raise主动抛出异常
def zero_div():
x = 100
y = 0
if y == 0:
# 一旦抛出异常,且未做相应的异常捕获,程序会就此退出。
raise ZeroDivisionError("除数不能为0!")
z = x / y
print(z)
# zero_div()
try:
zero_div()
except ZeroDivisionError:
print("捕获到一个ZeroDivisionError异常!")
else: #只有try为正常情况,才会执行else语句
print("test1")
finally: #不管是正常还是异常都会执行该语句
print("test2")
# 如果抛出一个SystemExit异常会强制结束Python解释器的运行
raise SystemExit
# -----------------------------------------
# 自定义异常
# -----------------------------------------
class ExitLoop(Exception):
pass
try:
x = 1
while x < 5:
for y in range(1, 5):
print(x, y)
if (x == 3) and (y == 3):
# 通过抛出一个异常,直接跳出多层嵌套循环
raise ExitLoop
x += 1
except ExitLoop:
print("当x = 3, y = 3时跳出嵌套循环")
class CustomError(Exception):
def __init__(self, err='自定义错误'):
Exception.__init__(self, err)
内容总结
以上是互联网集市为您收集整理的python --异常处理与调试全部内容,希望文章能够帮你解决python --异常处理与调试所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。