1,什么时候用异常处理,为什么用
异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。

一般情况下,在Python无法正常处理程序时就会发生一个异常。

异常是Python对象,表示一个错误。

当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。

异常处理的表现形式


--------------------------------------------------------割割更健康-------------------------------------------------
try:
代码
except 异常类型:
一旦检测到异常代码,就会执行这

ss='lqz'
try:
raise KeyError('主动触发异常')
int(ss)

except KeyError as e:
print(e)

except IndexError as e:
print(e)

#一般exception是万能的,单独用一个就行,但是都放在最后捕捉不知道会发生的错误类型
except Exception as e: #Excrption是例外的意思
print('你是傻子吗')
print(e)

else:
print('try 代码块里没有异常,会执行我')

finally: #finally 必须放在最后,等同f.cloce() 无论是否异常都会执行
print('无论如何都会执行')


-------------------------------------------------------------------------------------------
class a(BaseException):
def __init__(self, msg):
super().__init__()
self.msg = msg

def __str__(self):
return self.msg


# raise TypeError('这是类型错误')
raise a('我自己的异常')
#
-------------------------------------------------------------------------------------







如果错误发生的条件是可预知的,我们需要用if进行处理:在错误发生之前进行预防
age=18
guess= input('请输入年龄')
if guess.isdigit():#age不为数字的时候,就会出错,这个我们是可以预测的,所以要用if判断处理调
    guess =int(guess)
    if guess ==age:
        print('猜对了')

 如果错误发生的条件是不可预知的,则需要用到try...except:在错误发生之后进行处理

# 比如从网上爬数据,放到一个列表里,列表有两个数据,你想要取第三个数据,就会出错,列表里的值,不可预知,就要用try...except
ll=['数据1','数据2']
try:
    ll[2]
except IndexError as e:
    print(e)

 

posted on 2018-07-04 15:59  李杰斯  阅读(114)  评论(0编辑  收藏  举报