python 异常处理 输入两个数相除_python异常处理2

try except捕获异常

try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。

如果你不想在异常发生时结束你的程序,只需在try里捕获它

语法:

try:

可能产生异常的代码块

except [ (Error1, Error2, ... ) [as e] ]:

处理异常的代码块1

except [ (Error3, Error4, ... ) [as e] ]:

处理异常的代码块2

except [Exception]:

处理其它异常`

捕获指定异常,交给指定except分支处理

举个例子:

def ex2():

try:

a = int(input("输入被除数:"))

b = int(input("输入除数:"))

c = a / b

print("您输入的两个数相除的结果是:", c)

except ValueError:

print("程序发生了数字格式异常")

except ArithmeticError:

print("程序发生了算术异常")

except:

print("未知异常")

print("程序继续运行")`

获取特定异常的有关信息

通过前面的学习,我们已经可以捕获程序中可能发生的异常,并对其进行处理。但是,由于一个 except 可以同时处理多个异常,那么我们如何知道当前处理的到底是哪种异常呢?

其实,每种异常类型都提供了如下几个属性和方法,通过调用它们,就可以获取当前处理异常类型的相关信息:

args:返回异常的错误编号和描述字符串;

str(e):返回异常信息,但不包括异常信息的类型;

repr(e):返回较全的异常信息,包括异常信息的类型。

try:

1/0

except Exception as e:

# 访问异常的错误编号和详细信息

print(e.args)

print(str(e))

print(repr(e))

raise

抛出异常

例子:

def ex1():

a1 = input("输入名字(2-5位):")

if len(a1)<2 :

raise ValueError("名字小于2位")

elif len(a1)>5:

raise ValueError("名字大于5位")

else:

print('已输入')

if __name__ == '__main__':

ex1()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值