python异常
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python异常,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2292字,纯文字阅读大概需要4分钟。
内容图文
![python异常](/upload/InfoBanner/zyjiaocheng/735/673cb58c7e854667b8f6f351dffe5cf2.jpg)
python 异常
1.语法错误
2.逻辑错误
异常一旦产生,不能任由异常终止程序执行,而是应该由程序员对异常捕获之后所作的一些处理操作。所以对于异常管理,通常情况下,异常也是一个对象,这个python异常将会被异常传导机制传递给一个对象,发出异常信号。python异常可以理解为程序出现错误而在正常的控制流以外采取的行为。
第一阶段:解释器触发异常,此时的程序流将被终止
第二阶段:如果没有任何人对这些异常作出任何处理,这些异常就会一直向上传导,直到返回到python解释器,然后python解释器就会终止脚本执行。所以异常处理的过程通常不是有我们的程序返回异常到Python解释器从而终止程序的执行。而是进行捕获异常,并进行相应的处理操作,如忽略其非致命错误、减轻错误带来的影响等。
所以对于程序员来讲,不能任由由于自己没有考虑一些情况而导致异常发生,或者用户输入了我们并不期望的数据导致异常发时,程序直接被终止。
异常的功用
检测和处理异常
try:
while True:
d1=input("An integer:")
if d1 == "quit": break
d2=input("Another integer:")
print(int(d1)/int(d2))
except ZeroDivisionError as e:
print(e)
except ValueError as e:
print(e)
except:
print("unknown error")
try-except-else语句
try - finally 语句
总结
在try-finally中嵌套try-except
try:
try:
try_suite
except name1:
print()
except name2:
print()
else:
else_suite
finally:
finally_suite
自定义异常
正常参数:
def f1(seq1,seq2):
if not seq1 or not seq2:
raise ValueError (“Seq must not be empty”)
return [(x1,x2) for x1 in seq1 for x2 in seq2]
l1=[“xiaopang”,“xiaohe”,“like”]
l2=[“a”,“b”,“c”]
s=f1(l1,l2)
print(s)
运行结果:
H:\ANACONDA\python.exe I:/ainlp/ExceptionLearning/test2.py
[(‘xiaopang’, ‘a’), (‘xiaopang’, ‘b’), (‘xiaopang’, ‘c’), (‘xiaohe’, ‘a’), (‘xiaohe’, ‘b’), (‘xiaohe’, ‘c’), (‘like’, ‘a’), (‘like’, ‘b’), (‘like’, ‘c’)]
Process finished with exit code 0
错误输入:
运行结果:
raise语句大全:
异常对象
标准异常类
自定义异常类
assert语句
断言可以理解为一个简化版的自定义异常的方式。
assert condition[,expression]
相当于下面代码:
if __ debug __:
if not condition:
raise AssertionError(expression)
小结
python 异常对象
BaseException:
raise 触发异常
assert 断言
try:
except:
except:
except BaseException
else:
try-finally
try-except-else-else-finally
如下:
try:
try-except-else
finally:
完结
下一篇 :Python执行环境
内容总结
以上是互联网集市为您收集整理的python异常全部内容,希望文章能够帮你解决python异常所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。