Python自定义异常记录

如何在python中像java一样使用自定义异常呢?

class UserInputError(Exception):
    def __init__(self, ErrorInfo):
        super().__init__(self, ErrorInfo)
        self.errorinfo = ErrorInfo
    def __str__(self):
        return self.errorinfo

userinput = 'a'

try:
    if (not userinput.isdigit()):
        raise UserInputError('用户输入错误')
except UserInputError as ue:
    print(ue)
finally:
    del userinput

还有一个也很好用的第三方库:

import pretty_errors
def foo():
    1/0

foo()

# pip install pretty_errors

故不积跬步,无以至千里;
不积小流,无以成江海。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中,数据异常处理是非常重要的一部分,因为它可以帮助程序在遇到不可预见的情况时不会突然崩溃。Python提供了几种机制来捕获和处理异常: 1. **try-except-finally** 语句块: ```python try: # 可能会引发异常的代码 some_code_that_might_raise() except ExceptionType1: # 如果ExceptionType1被抛出,执行这部分代码 handle_exception_1() except ExceptionType2: # 如果是ExceptionType2,执行这部分代码 handle_exception_2() finally: # 无论是否发生异常,这部分代码都会执行 cleanup_code() ``` 2. **raise** 关键字: 当你想要主动抛出一个异常时,可以用 `raise` 关键字,可以自定义异常型: ```python if condition: raise ValueError("Some error occurred") ``` 3. **assert** 语句: 用于检查条件是否为真,如果条件不满足,会引发`AssertionError`,通常用于调试: ```python assert variable > 0, "Variable must be positive" ``` 4. **with** 语句和上下文管理器(Context Managers): 对于文件操作、数据库连接等资源,可以使用 `with` 来确保资源在使用完毕后自动关闭,即使有异常发生: ```python with open('file.txt', 'r') as file: data = file.read() ``` 5. **`logging`** 模块: 用于记录详细的错误信息,包括日志级别、时间、堆栈跟踪等,有助于调试和问题追踪。 相关问题: 1. 什么时候应该使用try-except语句? 2. Python中如何定义自己的异常? 3. 上下文管理器是如何帮助处理异常的?

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值