Python运维基础 (6) 异常处理

学着忘着,果然还是得写博客整理整理思路加深一下印象,为自己的健忘制定Plan B嘻嘻~

异常

首先说一下什么是异常。异常是一个事件,从字面意思上来看,异常就是在程序运行过程中发生的错误,会影响程序的正常运行。在python中,异常即一个python对象,表示一个错误,当py脚本出现异常时,我们需要及时对异常进行捕捉,否则程序就会终止运行。

python常见异常

IndentationError —- 缩进错误
ImportError —- 导入模块错误
KeyError—- 映射中没有这个键
SyntaxError —- python语法错误
IOError —- 输入/输出异常;基本上是无法打开文件
KeyboardInterrupt —- 中途突然结束任务
等等….还有好多….有用到的查查手册什么的好了

异常处理

我们可以通过try/except语句来捕捉异常,通常,try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。 简言之,我们在try下对一段代码进行试运行,若检测到expect中的错误,则立即进行处理。如果你不想在异常发生时结束你的程序,只需要在try里捕获它。
eg:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author: zhuzhuzhu   time:2018/4/13
import time
for i in range(1, 20):
    try:
        print("Number\t\t%d" % i)
        time.sleep(0.5)
    except KeyboardInterrupt:
        print("I'm doing an important task now!!")
        continue  # 抛出异常之后打印提示语并且继续执行程序

try/except语法实例:

try:
    试运行
except:
    发生异常,执行这块代码
else:
    没有异常执行这块代码

其中,使用except可以带多个异常,表示若发生多个异常中的一个,则执行之后的语句。

try/finally语句
try-finally 语句无论try块是否抛出异常,永远执行的代码。通常用来执行关闭文件,断开服务器连接的功能等等。

try:
<语句>
except MyException:
<语句>
finally:
<语句>    #退出try时总会执行

手动触发异常

raise + 异常

自定义异常

class MyException(Exception):  # 这里定义一个异常
    pass
try:
    #some code here
    raise MyException  # 触发异常
except MyException:  # 抓取异常
    print("MyException encoutered")

猜你喜欢

转载自blog.csdn.net/in_nocence/article/details/79920899