Python 异常

博客围绕Python异常处理展开,介绍了已知文件异常、多个异常按顺序抛出的情况,还提及捕获异常具体信息、使用异常父类处理未知异常,以及使用finally执行特定代码、引用traceback和自定义异常等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 已知文件异常,如ZeroDivisionError:

try:
    print(5/0)
except ZeroDivisionError:
    print("You can't divide by zero!")

2. 已知多个异常,异常按照顺序抛出:

num1 = input('数字一:')
num2 = input('数字二:')

try:
    print(int(num1)/int(num2))
except ZeroDivisionError:
    print("You can't divide by zero!")

except ValueError:
    print('输入的值的类型不对!')
    

3. 捕获异常的具体信息:

num1 = input('数字一:')
num2 = input('数字二:')

try:
    print(int(num1)/int(num2))
except ZeroDivisionError as e:          # 取别名 
    print("You can't divide by zero!")
    print(e)                            # 打印异常具体信息
except ValueError as v:
    print('输入的值的类型不对!')
    print(v)

4.  不知道异常时,使用异常父类

num1 = input('数字一:')
num2 = input('数字二:')

try:
    print(int(num1)/int(num2))
except Exception as e:   #Exception 父类
    print(e)
finally:
    print('游戏结束')

5. 不管是否有异常,都要执行一段代码 finally 

num1 = input('数字一:')
num2 = input('数字二:')
try:
    print(int(num1) / int(num2))
finally:
    print('游戏结束!')

6.   引用 traceback    : import traceback

import traceback

num1 = input('数字一:')
num2 = input('数字二:')
try:
    print(int(num1) / int(num2))
except :
    print(traceback.format_exc())
finally:
    print('游戏结束!')

7.   自定义异常

import traceback
num1 = input('数字一:')
num2 = input('数字二:')

class NameIsTooLong(Exception):
    try :
        print(int(num1) / int(num2))
    except :
        print(traceback.format_exc())
    finally:
        print('感谢您的参与!')

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值