[代码笔记] python之 异常处理 try except else finally

#!/usr/bin/python3
#文件名: demo_exception.py
# python之异常处理

while True :
    try:
        number=int(input('请输入一个数字:'))#要求从控制台输入数字,但实际输入字母即发生异常
        #break
    except ValueError:
        print('你输入的不是一个数字,你不是正真的清真!')#当捕获到异常时,可以给出提示,也可以扔出去(下一句)
        #raise
    except :
        print('Oh no,出现了其他的异常!Like :KeyboardInterrupt')#可以有多个except,但不带异常参数的except必须放在最后(当然不要也行),它可以捕获所有异常
        #raise
    else:
        print('好的,没有出现任何问题!')#当未发生异常是,会执行此代码,在此循环中,如果之前有break则不执行
        break
    finally:
        print('What ever , You need Run me!')#无论是否发生异常都会执行,

#自定义异常(涉及到类与对象,自己懵逼中)

class MyError(Exception):
    def __init__(self,value):
        self.value=value

    def __str__(self):
        return str('异常原因:'+self.value)

try:
    raise MyError('我是异常原因,你找我?')
except MyError as e:
    print(e)

打印如下:

请输入一个数字: a#输入了a
你输入的不是一个数字,你不是正真的清真!
What ever , You need Run me!
请输入一个数字:3 #输入了3
好的,没有出现任何问题!
What ever , You need Run me!
异常原因:我是异常原因,你找我?

你可能感兴趣的:(python,代码笔记)