python中关于异常捕获,如何实现?,python获取异常
这篇文章主要为大家介绍了计算机编程语言异常对象异常捕捉及例外基础类,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
目录
异常对象异常捕捉
异常对象
计算机编程语言中遇到错误后,会引发异常。
计算机编程语言中使用异常对象来表示异常情况。
如果异常对象未被处理或者捕捉,程序就会用所谓的回溯(追溯)来终止执行。
下面是一个例子:
定义函数1():
引发异常
if __name__==__main__:
func1()
执行之后报错:
(venv)e : \ Codes \ python _ everything \ begining-python \ src \ 08列表8-2。巴拉圭
回溯(最近呼叫):
模块中文件e : \ Codes \ python _ everything \ begining-python \ src \ 08 \ list 8-2。py 的第19行
func1()
func1中文件e : \ Codes \ python _ everything \ begining-python \ src \ 08 \ list 8-2。py 的第15行
引发异常
例外
异常有不同的类型,异常是基础类,下面还有各种子类:
-例外
-停止迭代
-标准误差
-缓冲错误
-算术错误
-浮点错误
-溢出错误
-零除法错误
-断言错误
-属性错误
-环境错误
- IOError
-错误
-Windows错误(Windows)
-虚拟机错误(虚拟机)
-埃费罗
-导入错误
- LookupError
-索引错误
-密钥错误
-内存错误
-名称错误
-unboundlocalrerror
-引用错误
-运行时间错误
- NotImplementedError
-语法错误
-缩进错误
-制表符错误
-系统错误
-类型错误
-值错误
- UnicodeError
-unicode解码错误
-unicode编码错误
- UnicodeTranslateError
还可以通过继承例外来实现自己的类:
类一些错误(异常):通过
定义函数2():
引发一些错误
if __name__==__main__:
函数2()
异常捕捉
异常可以被捕捉,需要使用尝试.除.之外.语句:
类一些错误(异常):通过
定义函数2():
引发一些错误
if __name__==__main__:
尝试:
函数2()
除了一些错误:
打印("发生了一些错误")
这里捕捉到了参数,所以就不会回溯:
(venv)e : \ Codes \ python _ everything \ begining-python \ src \ 08列表8-3。巴拉圭
发生了一些错误
但是如果是其它的异常:
定义函数1():
引发异常
类一些错误(异常):通过
定义函数2():
引发一些错误
if __name__==__main__:
尝试:
func1()
除了一些错误:
打印("发生了一些错误")
这里的例外就没有被捕获,所以还是会回溯:
(venv)e : \ Codes \ python _ everything \ begining-python \ src \ 08列表8-3。巴拉圭
回溯(最近呼叫):
模块中文件e : \ Codes \ python _ everything \ begining-python \ src \ 08 \ list 8-3。py 的第27行
func1()
func1中文件e : \ Codes \ python _ everything \ begining-python \ src \ 08 \ list 8-3。py 的第15行
引发异常
例外
如果没有出现异常,则会继续往下执行,但是这里可以有其他语句来执行没有异常时可以执行的语句,使整个逻辑更通顺:
if __name__==__main__:
尝试:
打印("无例外")
除了一些错误:
打印("发生了一些错误")
else:
打印("没有发生错误")
结果如下:
(venv)e : \ Codes \ python _ everything \ begining-python \ src \ 08列表8-3。巴拉圭
不例外
没有发生错误
但是有时你想执行一些语句,即使一个未被捕获的异常发生了。此时,您可以使用finally语句:
定义函数1():
引发异常
类SomeError(异常):通过
定义函数2():
引发一些错误
if __name__==__main__:
尝试:
func1()
除了一些错误:
打印(“发生了一些错误”)
else:
打印(“没有发生错误”)
最后:
打印(“做点什么”)
Python更喜欢使用try这样的语句.除.之外.而不是如果.其他.声明。
以上是Python异常对象和异常基类的异常捕获细节。关于Python对象异常捕获的更多信息,请关注风行IT软件开发工作室的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。