python--异常处理(python异常处理机制)

网友投稿 384 2022-08-25


python--异常处理(python异常处理机制)

异常

lis = ['zouzou', 'jack', 'bob']name = {'001': 'hello'}try: print(lis[3]) print(name['002'])except KeyError as e: # 将具体的错误信息赋值给e print('没有这个key:', e)except IndexError as e: print('列表操作错误:', e)

结果

列表操作错误: list index out of range

出一个错就不往下执行了

也可以这样写

lis = ['zouzou', 'jack', 'bob']name = {'001': 'hello'}try: print(lis[3]) print(name['002'])except (KeyError, IndexError) as e: print('没有这个key:', e)

抓住所有错误

lis = ['zouzou', 'jack', 'bob']name = {'001': 'hello'}try: print(lis[3]) print(name['002'])except Exception as e: # 基本上能抓住所有异常,缩进等 一些异常抓不了 print('出错了,错误为:', e)

结果

出错了,错误为: list index out of range

lis = ['zouzou', 'jack', 'bob']name = {'001': 'hello'}try: open('test.txt')except IndexError as e: print('列表错误:', e)except KeyError as e: print('key错误:', e)except Exception as e: # 上面的错误都不是时执行这里的 print('未知错误')

结果

未知错误

else在没有异常时执行

lis = ['zouzou', 'jack', 'bob']name = {'001': 'hello'}try: print(lis[0])except IndexError as e: print('列表错误:', e)except KeyError as e: print('key错误:', e)except Exception as e: # 上面的错误都不是时执行这里的 print('未知错误', e)else: print('一切正常') # 没有异常时执行

结果:

zouzou一切正常

lis = ['zouzou', 'jack', 'bob']name = {'001': 'hello'}try: print(lis[6])except IndexError as e: print('列表错误:', e)except KeyError as e: print('key错误:', e)except Exception as e: # 上面的错误都不是时执行这里的 print('未知错误', e)else: print('一切正常') # 没有错误时执行finally: print('不管有没有错都执行') # 不管有没有错都执行,无论如何都会执行 操作系统资源归还的工作

结果

列表错误: list index out of range不管有没有错都执行

自定义异常

class LfjException(Exception): # 继承异常的基类 def __init__(self, msg): self.message = msg def __str__(self): return self.messagetry: raise LfjException('我的异常')except LfjException as e: print(e) # 打印的是self.message的值,self.message这 里的值是raise LfjException('我的异常'),括 号里的值

结果:

我的异常

raise主动抛异常

try: num = int(input('>>>'))except Exception: print('在出现了异常之后做点儿什么,再让它抛异常') raise # 原封不动的抛出try语句中出现的异常


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:python--异常处理(python异常处理中不会用到的关键字)
下一篇:SpringData JPA基本/高级/多数据源的使用详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~