python抛出异常和捕获异常_在try块中可以抛出异常吗

python抛出异常和捕获异常_在try块中可以抛出异常吗PythonLearnPython抛出异常【1】程序运行过程中Python解释器遇到一个错误会停止程序的运行并且提示一些错误信息这个就是异常程序停止并且提示错误信息的动作叫做抛出异常抛出异常原因 主动捕获异常可以增加健壮性抛出异常的种类AssertionError,断言失败抛出异常;AttributeError,找不到属性抛出异常;ValueError,…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

PythonLearn

Python抛出异常【1】

 程序运行过程中 Python解释器遇到一个错误 会停止程序的运行 并且提示一些错误信息 这个 就是异常
程序停止并且提示错误信息的动作叫做抛出异常

抛出异常原因

	主动捕获异常 可以增加健壮性

抛出异常的种类

  1. AssertionError ,断言失败抛出异常;
  2. AttributeError ,找不到属性抛出异常;
  3. ValueError , 参数值不正确(类型正确);
  4. WindowsError/(OSError,IOError,EnvironmentError),I/O相关错误
  5. UnicodeError,ValueError的子异常,编码错误
  6. UnicodeDecodeError UnicodeError的子异常 编码,解码错误
  7. UnicodeEncodeError UnicodeError的子异常 编码,编码错误
  8. UnicodeTranslateError UnicodeError的子异常 编码,翻译错误
  9. ConnectionError OSError子异常,连接错误
  10. BrokenPipeError ConnectionError 子异常 连接管道错误
  11. ArithmeticError 算术错误的基类
  12. ZeroDivisionError 算数错误的子类,除法或模运算的第二个参数是零
  13. BufferError 缓冲区错误
    注意 如果不确定需要打印异常种类 只是单纯不想让程序暂停 可以使用基类Exception 但是 Python中不推荐使用这种方法

抛出异常的格式

1.基本语法

try:
    num = int(input("请输入一个数字:"))
    print(num)
except ValueError as e:
  print(e)
finally:
 print("抛出异常")

2.解析
关键字try 以及except是 使用Python 解释器主动抛出异常的关键,
Python解释器从上向下执行 当运行try中的某行代码出错,会直接进入except中执行下方代码 try中错行下方的代码不会被运行
except…as… 是固定的语法格式 打印traceback信息
finally 后的代码不管是否抛出异常都会执行
except 的原理 调用sys中 exc.info 方法返回基本信息 所以抛出异常的第一步拓展可以在这里开始
注意 每个关键字下方的代码都是独立的(所有的变量都是局部变量)

基本拓展:sys.exc.info

1.初步拓展

try:
    num = int(input("请输入一个数字:"))
    print(num)
except ValueError as e:
    exc_type, exc_value, exc_traceback_obj = sys.exc_info()
    print(exc_type) # 异常的类型
    print( exc_value) # 异常的值
    print(exc_traceback_obj)	#异常的对象 返回堆栈的位置 内存地址
    

在一般情况下 基本的抛出异常已经足够使用 但是 不排除特殊情况 比如说日志输出等场景 这种场景可能需要进一步的拓展异常的抛出 具体的方法会再下一章进行详细的记录…

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180795.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 如何给Python安装.whl文件

    如何给Python安装.whl文件安装whl文件也是迫不得已的最后选择,因为有些包其他指令没成功,如果安装了anaconda会方便很多,详见另一篇https://blog.csdn.net/weixin_41592575/article/details/893722971.先弄清楚自己的Python是什么版本的,以方便后续下载合适的.whl文件。win+R进入命令运行窗口,输入cmd打开命令提示符,接着输入python即可…

    2022年5月7日
    40
  • linux系统添加审计用户并进行权限控制「建议收藏」

    linux系统添加审计用户并进行权限控制「建议收藏」审计账号只用于审计功能,其权限可在普通账号基础上进行修改1) 创建审计账号shenji[root@localhost~]#useraddshenji[root@localhost~]#passwdshenji2) 修改审计账号权限使其只具有查看功能[root@localhost~]#setfacl-mu:shenji:rx/*此命令是添加acl权限控制,效果…

    2022年5月25日
    43
  • pycharm连接github出现404_pycharm上传代码到github

    pycharm连接github出现404_pycharm上传代码到githubgitHub是一个面向开源及私有软件项目的托管平台,因为只支持git作为唯一的版本库格式进行托管,故名gitHub。配置的前提条件安装git注册github一、配置pycharmFile->Settings左侧的菜单VersionControl->GitHubHost:不用改Login、Password:就是你github的注册账号和密码Auth…

    2022年8月26日
    14
  • Shell 语法

    Shell 语法1、Shell环境hell编程跟java、php编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。Linux的Shell种类众多,常见的有:Bourne

    2022年7月4日
    24
  • unity安装使用教程_免费版签名

    unity安装使用教程_免费版签名1、进入Unity官网,滑动到最底部,点击“所有版本”:

    2022年4月19日
    70

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号