python 异常处理 12

  当python程序在执行期间发生错误时,如果编写了处理该异常的代码,程序将继续运行;如果未对异常进行处理,程序将停止并显示traceback,其中包含有关异常的报告。异常是使用try- except代码块处理的。告诉python发生异常进怎么办,在try-except代码块中出现异常,程序也将继续运行:显示你缩写的友好的错误消息,而不是令用户迷惑的traceback。

  异常类型很多,如ZeroDivisionError,TypeError等,基类是Exception。

1.使用try -- except代码块

  下面是一个示例

try:
    print(5/0)
except ZeroDivisionError:
    print('you cannot divide by zero!')

 2.使用else代码块

  当try代码块成功执行后,会再执行到else代码块中,如下所示:

try:
    print(5/1)
except ZeroDivisionError:
    print('you cannot divide by zero!')
else:
    print('ok')

 3.处于多个异常

  一个except子句可以同时处理多个异常,这些异常将被放在一个括号里成为一个元组,例如:

try:
    print(5/0)
except (ZeroDivisionError,TypeError):
    print('you cannot divide by zero!')

4.except子句

  最后一个except子句可以忽略异常的名称,它将被当作通配符使用。可以使用这种方法打印一个错误信息。

try:
    print(5/0)
except TypeError:
    print('TypeError!')
except :
    print('you cannot divide by zero!')

 5. try-finally语句

  try-finally 语句无论是否发生异常都将执行最后的代码。 

try:
    print(5/0)
except ZeroDivisionError:
    print('TypeError!')
finally :
    print('这句话,无论异常是否发生都会执行。')

6.抛出异常raise

  示例一,使用raise抛出

try:
    try:
        print(5/0)
    except ZeroDivisionError:
        raise  #抛出异常
except Exception as e:
    print(f'捕获:{e}')

  示例二,指定抛出的异常类型和消息,

try:
    try:
        print(5/0)
    except ZeroDivisionError:
        raise  Exception('除数不能为0') #抛出的异常类型
except Exception as e:
    print(f'捕获:{e}')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值