背景

我们准备利用17天时间,将 “Python基础的刻意练习” 分为如下任务:

  • Task01:变量、运算符与数据类型(1day)
  • Task02:条件与循环(1day)
  • Task03:列表与元组(2day)
  • Task04:字符串与序列(1day)
  • Task05:函数与Lambda表达式(2day)
  • Task06:字典与集合(1day)
  • Task07:文件与文件系统(2day)
  • Task08:异常处理(1day)
  • Task09:else 与 with 语句(1day)
  • Task10:类与对象(2day)
  • Task11:魔法方法(2day)
  • Task12:模块(1day)

这是我的 08/12 次任务的打卡内容。欢迎大家加入社群一起学习打卡。

我学习 Python 的思路是,先去熟悉 Python 的整体语法框架与自己熟悉的编程语言进行知识点的连接,后面遇到问题再来慢慢补充,慢慢形成自己的知识结构。

关于我们 “基础算法刻意练习活动” 的复盘可以参见图文:对“基础算法(LeetCode)刻意练习活动”的复盘,后面我们还会组织一系列活动,欢迎大家参与,一起来刻意练习啊。


Python 基础语法

运行期检测到的错误被称为异常。

1. Python标准异常总结


2. try - except 语句

try:检测范围
except Exception[as reason]:出现异常后的处理代码

try 语句按照如下方式工作:

  • 首先,执行try子句(在关键字try和关键字except之间的语句)
  • 如果没有异常发生,忽略except子句,try子句执行后结束。
  • 如果在执行try子句的过程中发生了异常,那么try子句余下的部分将被忽略。如果异常的类型和except之后的名称相符,那么对应的except子句将被执行。最后执行try语句之后的代码。
  • 如果一个异常没有与任何的except匹配,那么这个异常将会传递给上层的try中。

Sample01:

try:f = open('test.txt')print(f.read())f.close()
except OSError:print('打开文件出错')

Sample02:

try:f = open('test.txt')print(f.read())f.close()
except OSError as error:print('打开文件出错\n原因是:' + str(error))

一个try语句可能包含多个except子句,分别来处理不同的特定的异常。最多只有一个分支会被执行。

try:int("abc")s = 1 + '1'f = open('test.txt')print(f.read())f.close()
except OSError as error:print('打开文件出错\n原因是:' + str(error))
except TypeError as error:print('类型出错\n原因是:' + str(error))
except ValueError as error:print('数值出错\n原因是:' + str(error))

一个 except 子句可以同时处理多个异常,这些异常将被放在一个括号里成为一个元组。

try:int("abc")s = 1 + '1'f = open('test.txt')print(f.read())f.close()
except (OSError, TypeError, ValueError) as error:print('出错了!\n原因是:' + str(error))

3. try - except - finally 语句

try:检测范围
except Exception[as reason]:出现异常后的处理代码
finally:无论如何都会被执行的代码

不管try子句里面有没有发生异常,finally子句都会执行。

如果一个异常在try子句里被抛出,而又没有任何的except把它截住,那么这个异常会在finally子句执行后被抛出。

def divide(x, y):try:result = x / yprint("result is", result)except ZeroDivisionError:print("division by zero!")finally:print("executing finally clause")divide(2, 1)
# result is 2.0
# executing finally clause
divide(2, 0)
# division by zero!
# executing finally clause
divide("2", "1")
# executing finally clause
# TypeError: unsupported operand type(s) for /: 'str' and 'str'

4. raise语句

Python 使用raise语句抛出一个指定的异常。

try:raise NameError('HiThere')
except NameError:print('An exception flew by!')# An exception flew by!

总结

好了,到此为止有关于 异常处理 部分就介绍完了,大家要根据上面的例子多多体会,只有刻意练习才能掌握一门技术,没有捷径的,加油啊!See You!


参考文献

  • https://www.runoob.com/python3/python3-tutorial.html
  • https://www.bilibili.com/video/av4050443

相关图文

  • 资料分享:数学建模资料分享 – 图论部分
  • 资料分享:数学建模资料分享 – 神经网络部分
  • 如何利用 C# 实现 K 最邻近算法?
  • 如何利用 C# 实现 K-D Tree 结构?
  • 如何利用 C# + KDTree 实现 K 最邻近算法?
  • 如何利用 C# 对神经网络模型进行抽象?
  • 如何利用 C# 实现神经网络的感知器模型?
  • 如何利用 C# 实现 Delta 学习规则?
  • 如何利用 C# 实现 误差反向传播 学习规则?
  • 如何利用 C# 爬取带 Token 验证的网站数据?
  • 如何利用 C# 向 Access 数据库插入大量数据?
  • 如何利用 C# + Python 破解猫眼电影的反爬虫机制?

刻意练习:Python基础 -- Task08. 异常处理相关推荐

  1. python基础之异常处理

    python基础之异常处理 参考文章: (1)python基础之异常处理 (2)https://www.cnblogs.com/zhangyux/p/6108026.html (3)https://w ...

  2. Python基础:异常处理

    Python基础:异常处理 一,学习的内容 Python 异常处理 异常就是运行期检测到的错误.计算机语言针对可能出现的错误定义了异常类型,某种错误引发对应的异常时,异常处理程序将被启动,从而恢复程序 ...

  3. python基础语法-异常处理

    python中的异常处理 类似于java 开发中很常用 异常处理的好处 大大减少了由于异常程序崩溃的发生. 三个基本语句 try:在try语句后放入可能出现问题的代码,没有问题正常执行 except: ...

  4. Python基础06-Python异常处理

    Python异常处理 异常处理概述 异常处理实战 异常处理,如果异常不处理,比如爬虫爬到一半,变奔溃了 ''' Python异常处理 ''' try:print("My")prin ...

  5. python基础(part14)--异常处理

    鄙人学习笔记 开发工具:Spyder 文章目录 异常处理 异常 异常处理 举个例子1 举个例子2 raise语句 案例 自定义异常 案例 异常处理 我们先以一个例子为开头 代码: 控制台输入5,则正常 ...

  6. python基础之异常处理、面向对象

    异常处理 当代码运行出错时,程序会终止.code就不是0了,而是-1或者1,不是正常结束. 程序碰到异常又没有捕获到,没有做相应的处理,程序会崩溃. 如果不做异常处理,执行到一些容易出错的位置,可能代 ...

  7. python基础知识 ~ 异常处理与导入

    一 错误种类   1 语法错误    2 规则错误 二 错误内容举例    TypeError    NameError    KeyError    JSONDecodeError等 三  标准模板 ...

  8. Python基础——try(异常处理)

    文章目录 1.try...except.. 2.try...except...else 1.try-except- 输出错误:try:, except - as -: 看如下代码 try:file = ...

  9. 刻意练习:Python基础 -- Task12. 模块

    背景 我们准备利用17天时间,将 "Python基础的刻意练习" 分为如下任务: Task01:变量.运算符与数据类型(1day) Task02:条件与循环(1day) Task0 ...

最新文章

  1. Redis 笔记(13)— scan 和 keys 寻找特定前缀key 字段(命令格式、使用示例、定位大key)
  2. 《数据科学家养成手册》第十一章----算法学(非线性回归)
  3. PCIE BAR空间
  4. python menu实例_Python高级进阶#019 pyqt5菜单menu应用,新建多窗体
  5. haproxy负载均衡_使用haproxy搭建web集群
  6. Oracle连接字符串记录
  7. 用python写三角形_python写个三角形的问题
  8. 2020年Q3笔记本电脑出货量:惠普反超联想居首位 苹果第四
  9. 圆台下料展开计算方法_冲压件展开计算方法(二),转发给每一位冲压人
  10. S2A哨兵数据的波段合成、镶嵌、TOA(大气表观反射率)和裁剪的操作
  11. 还想呆在公司养老?别做梦了
  12. 2020数学建模B题
  13. 在Qt下使用映美精黑白相机:Qt 5.12 + ImagingSource(映美精)+ vs2017 Community + OpenCV 3.3
  14. python汉语词频统计软件_python实现简单中文词频统计示例
  15. 奥本大学计算机专业GRE成绩,美国大学GRE分数要求汇总贴,你的目标学校要求多少分?...
  16. 当红小生酒店施暴性感女星
  17. laravel集合函数-pluck()
  18. 格式化后如何恢复数据?
  19. 非阻塞recvfrom的设置
  20. 使用python实现微博评论分词与关键词提取(从MySQL数据库中读取数据)

热门文章

  1. mysql 判断日期是否在某范围内_判断时间是否在某个区间内
  2. UI设计培训分享:UI设计师如何准备面试?
  3. Mac下sublime text2 解决中文乱码
  4. Computed property XXX was assigned to but it has no setter
  5. [日常] Go语言圣经-函数递归习题
  6. css3中的box-sizing属性
  7. grub2 命令行进入系统
  8. 【基础复习】二:预处理、const与sizeof
  9. Linux指令--文件和目录属性
  10. Linux_DNS服务器