首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python入门基础教程-异常

作者:一叶

介绍:放不下灵魂的搬砖者

全文共938字,阅读全文需4分钟

Python版本3.8.0,开发工具:Pycharm

调试Python程序时,经常会报出一些异常,异常的原因一方面可能是写程序时由于疏忽或者考虑不全造成了错误,这时就需要根据异常Traceback到出错点,进行分析改正;另一方面,有些异常是不可避免的,但我们可以对异常进行捕获处理,防止程序终止。

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

01

Python异常

代码语言:javascript
复制
# 异常处理
try:
    statement_try
except Exception:
    statement_error
finally:
    statement_finally

「左右滑动查看更多」

代码语言:javascript
复制
11. 首先,执行try子句statement_try(在关键字try和关键字except之间的语句)
22. 如果没有异常发生,忽略except子句,try子句执行结束。
33. 如果在执行try子句的过程中发生了异常,那么try子句余下的部分将被忽略。
44. 如果一个异常没有与任何的except匹配,那么这个异常将会传递给上层的try中。
55. 无论 try 子句里面有没有发生异常,finally 子句都会执行。

「左右滑动查看更多」

注:

  • 一个 try 语句可能包含多个except子句
  • 一个except子句可以同时处理多个异常
代码语言:javascript
复制
 1# 在多个except子句中捕捉除0异常
 2try:
 3    print(10 * (1/0))
 4except ZeroDivisionError as e:
 5    print(e)
 6except NameError as e:
 7    print(e)
 8except TypeError as e:
 9    print(e)
10finally:
11    print("finally block")
12
13# 输出
14division by zero
15finally block

「左右滑动查看更多」

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

代码语言:javascript
复制
1# 使用raise抛出指定异常
2try:
3    raise NameError('This is error Name')
4except NameError:
5    print('An exception flew by!')
6
7# 输出
8An exception flew by!

「左右滑动查看更多」

Python断言

Python assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常。

代码语言:javascript
复制
1# assert语法格式如下
2assert expression
3# 等价于
4if not expression:
5    raise AssertionError
代码语言:javascript
复制
1# 条件为 true 正常执行
2assert 1==1
3# 条件为 false 触发异常AssertionError
4assert 1==2

「左右滑动查看更多」

当然,如果你的程序写的足够优秀,健壮性足够好,可以不用考虑异常处理,但是,你可以吗?
异常处理属于入门教程的最后一节,到此,入门教程也算是更完了。
其实可以看出,要是想了解入门Python,入门教程足够了,但是,要想用作Python做数据分析,却远远不够。
就像给你一个100万行的文件,你会用for循环去逐行读取再去操作吗?可能等你for循环还没结束,你的同事已经用excel 做好结果了。
下节将介绍Python进阶教程部分

学习Python,我们不只是说说而已

End

举报
领券