错误与异常

1、区分错误与异常

两种错误(都必须改正):语法错误(代码不规范,格式不对或缺少符号)、逻辑错误(逻辑不通)

异常:程序运行时发生错误的信号

2、异常处理与注意事项

异常处理:程序员特意去捕捉异常,如果捕捉成功,就进入另外一段你定义的逻辑里去运行,使程序不会崩溃

注意:异常处理的逻辑应该是与程序的主逻辑的分离开的;根本不会有人去用运行到一半就崩溃的软件,所以我们必须提供一种异常处理机制来增强我们程序的健壮性和容错性

各种异常

1、常见异常

AttributeError试图访问一个对象没有的属性,比如test.a,但是test没有属性a

IOError输入/输出异常;基本上就是无法打开文件

ImportError无法引入模块或包;基本上就是路径问题或名称错误

IndentationError语法错误(的子类) ;代码没有正确缩进或对齐

IndexError下标索引超出序列边界,比如当a只有三个元素,却试图访问a[5]

KeyError键异常,试图访问字典里不存在的键

KeyboardInterruptCtrl+C被按下

NameError使用一个还未被赋予对象的变量

SyntaxErrorPython代码非法,代码不能编译(基本上就是语法错误)

TypeError传入对象类型与要求的不符合

UnboundLocalError试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量,导致你以为正在访问它

ValueError值异常,传入一个调用者不期望的值,即使值的类型是正确的

2、其他异常

ArithmeticError AssertionError AttributeError BaseException BufferError BytesWarning DeprecationWarning EnvironmentError EOFError Exception FloatingPointError FutureWarning GeneratorExit ImportError ImportWarning IndentationError IndexError IOError KeyboardInterrupt KeyError LookupError MemoryError NameError NotImplementedError OSError OverflowError PendingDeprecationWarning ReferenceError RuntimeError RuntimeWarning StandardError StopIteration SyntaxError SyntaxWarning SystemError SystemExit TabError TypeError UnboundLocalError UnicodeDecodeError UnicodeEncodeError UnicodeError UnicodeTranslateError UnicodeWarning UserWarning ValueError Warning ZeroDivisionError

这些异常都比较少见,所以也没有必要全部列出来是哪方面的异常,太多了也记不住,所以可以遇到再去搜索这些少见的异常的解决方案

异常处理

1、if判断式

运行结果:

if判断式的缺点:

只能针对某一段代码,对于不同的代码段的相同错误类型需需要写重复的if来进行处理,显得非常赘余,可读性极其差

2、try … except …异常处理

运行结果:

3、主动异常

运行结果:

4、断言

运行结果:

此文转载文,著作权归作者所有,如有侵权联系小编删除!

需要源代码或者想了解更多的(点击这里查看)

python遇到异常跳过_教你使用Python遇到的异常的处理方式!相关推荐

  1. python利用自动识别写模块_教你用Python 实现自动导入缺失的库

    在写 Python 项目的时候,我们可能经常会遇到导入模块失败的错误:ImportError: No module named 'xxx' 或者 ModuleNotFoundError: No mod ...

  2. 使用python 处理表格生成图表_教你用Python自动读取数据生成图表,产生的效益很可观...

    厌烦了每次都要在Excel里拖动数据来生成图形吧,这篇文章里,教你用Python自动读取Excel数据生成图表,然后Python 使用XlsxWriter模块在Excel工作表中绘制带有数据表的柱形图 ...

  3. python画动态爱心代码_教你用python画动态爱心表白

    原标题:教你用python画动态爱心表白 初级画心 学Python,感觉你们的都好复杂,那我来个简单的,我是直接把心形看作是一个正方形+两个半圆: 于是这就很简单了,十行代码解决: import tu ...

  4. python的界面文字翻译_教你用Python实现微信翻译机器人

    相信大家在日常学习或者是阅读英文文章的过程中,难免会出现几个不认识的单词,或者想快速翻译某段英文的意思. 今天,利用Python爬虫等知识,教大家打造一个微信下的翻译小助手.好吧,开始干活. 先来看看 ...

  5. python我的所得税计算器_教你使用Python实现新个税计算器

    自从采用新个税计算方法后,每个月发工资你是否真的清楚扣多少税? 今天跟大家分享下如何计算,希望大家喜欢. 计税方法科普 个税方法 这里需要知道的知识点: 1.个税起征点调到 5000; 2.累积预扣法 ...

  6. python设计拼图小游戏_教你用Python自制拼图小游戏,轻松搞定熊孩子

    摘要:本文主要为大家详细介绍了python实现拼图小游戏,文中还有示例代码介绍,感兴趣的小伙伴们可以参考一下. 开发工具 Python版本:3.6.4 相关模块: pygame模块: 以及一些Pyth ...

  7. 用python做视觉检测系统_教你用 Python 做一个物体检测系统

    在本文中,我们将了解物体检测技术是什么以及可以用来解决此领域问题的几种不同方法,接着深入研究在Python中如何构建我们自己的对象检测系统.在本文结束时,您将拥有足够的知识来独自迎接不同的物体检测挑战 ...

  8. 怎么python画好几朵玫瑰花_教你使用python画一朵花送女朋友

    本文实例为大家分享了用python画一朵花的具体代码,供大家参考,具体内容如下 第一种,画法 from turtle import * import time setup(600,800,0,0) s ...

  9. python自动回复机器人手机版_教你用python做一个哄女友的微信自动回复机器人

    虽然题目是这样的,但是为了两人的幸福,还是尽量不要这么敷衍你的女朋友,毕竟这个世上还是有很多单身狗存在的 . 这是一个github最近刚刚上传的一个开源项目,短短几天就已经有了3000+star,原本 ...

最新文章

  1. 剑指offer_第2题_替换空格
  2. 图解phpstorm常用快捷键
  3. java非打印字符,使用Java正则表达式匹配不可打印字符
  4. grub shell 错误_GRUB启动故障排除和内核编译
  5. openwrt下让telnetl与ssh(dropbear)共存
  6. python一年365天、初始水平值_2020年11月7日,20201107
  7. MySQL 1093 You can't specify target table for update in FROM c 的解决办法
  8. java Swing中随机验证码的实现
  9. 【MySQL】性能优化之 straight_join
  10. 【渝粤教育】国家开放大学2018年秋季 0222-22T模拟电子电路 参考试题
  11. 串口通信与编程:串口基础知识
  12. 洛谷P2939 [USACO09FEB]改造路Revamping Trails(最短路)
  13. java飞机大战游戏
  14. Excel中数据截取
  15. 从源码角度深入理解iScroll中的scrollbars和indicators配置
  16. 访问html报401,设置自定义401错误页面方法详解
  17. Python绘制心型图案
  18. 解决“Could not build wheels for xx which use PEP 517 and cannot be installed directly“问题
  19. k8s重启节点状态NotReady
  20. 启动监听时的XDB、XPT和PLSExtProc服务的介绍

热门文章

  1. 什么是网关,网关的作用
  2. 遍历enum(连续型)
  3. HDU 2639 Bone Collector II (dp)
  4. 不小心删除数据--利用MySQL的binlog恢复数据
  5. Groovy 转换JSON和生产JSON
  6. uva 620 Cellular Structure
  7. 1.5 推荐优秀书籍 - 网站重构与Web标准设计 - 学习笔记
  8. mysql 统计本月的_MySql查询当天、本周、本月、本季度、本年的数据
  9. Go接口(Interface)的使用方法
  10. android 4.0 蓝牙分析之二