刻意练习——Python基础Task08.异常处理

刻意练习——Python基础Task08.异常处理

  • 使用try…except捕获异常:
#异常处理机制的语法结构
try:
	#业务实现代码
	...
except (Error1,Error2,...)
	alert 输入不合法
	goto retry	
  • try块(出现异常)→提交给Python解释器→寻找合适的except块处理
    (找不到合适的except块)→运行终止解释器退出
  • except-continue:except块向用户提示不合法,continue忽略本次循环剩下的代码,开始执行下一次循环

常见的异常

  • IndexError:运行该程序时输入的参数不够

  • ValueError:运行该程序时输入的参数不是数字,而是字母

  • Arithmetic:除0错误

  • 要遵循先捕获小异常,再捕获大异常


  • 一个except块可以捕获多种类型的异常:只需将多个异常类用圆括号括起,中间用逗号隔开即可

异常对象包含的常用属性和方法

  • args:该属性返回异常的错误编号和描述字符串
  • errno:该属性返回异常的错误编号
  • strerror:该属性返回异常的描述字符串
  • with_traceback()方法:处理异常的传播轨迹信息

  • else块:当try块没有出现异常时,程序会执行else块

  • finally块:回收物理资源

  • raise语句:在程序中自行引发异常
    1.raise:单独一个raise。该语句引发当前上下文中捕获的异常,或默认引发RuntimeError异常
    2.raise异常类:raise后带一个异常类。该语句引发指定异常类的默认实例。raise语句每次只能引发一个异常实例
    3.raise异常对象:引发指定的异常对象
    4.raise不需要参数:不带参数,且此时raise语句处于except块中,它将会自动引发当前上下文激活的异常;否则,通常默认引发RuntimeError异常

  • 自定义异常类:自定义异常都应该继承Exception基类或Exception的子类,在自定义异常类时基本不需要书写更多的代码,只要指定自定义异常类的父类即可

发布了38 篇原创文章 · 获赞 1 · 访问量 817

猜你喜欢

转载自blog.csdn.net/weixin_45774706/article/details/102826391