相关疑难解决方法(0)

如何在Python中使用自定义消息引发相同的Exception?

try我的代码中有这个块:

try:
    do_something_that_might_raise_an_exception()
except ValueError as err:
    errmsg = 'My custom error message.'
    raise ValueError(errmsg)
Run Code Online (Sandbox Code Playgroud)

严格地说,我实际上是在另一种情况下 ValueError,而不是ValueError抛出的do_something...(),err在这种情况下被称为.如何附加自定义消息err?我尝试下面的代码,但失败,因为err,一个ValueError 实例,不是赎回:

try:
    do_something_that_might_raise_an_exception()
except ValueError as err:
    errmsg = 'My custom error message.'
    raise err(errmsg)
Run Code Online (Sandbox Code Playgroud)

python message exception

123
推荐指数
7
解决办法
7万
查看次数

Python过载原语

我正在尝试重载字符串内置的一些方法.我知道没有真正合法的用例,但这种行为仍然让我感到烦恼,所以我想得到一个解释这里发生的事情:

使用Python2和forbiddenfruit模块.

>>> from forbiddenfruit import curse
>>> curse(str, '__repr__', lambda self:'bar')
>>> 'foo'
'foo'
>>> 'foo'.__repr__()
'bar'
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,该__repr__函数已成功重载,但在我们要求表示时实际上并未调用.这是为什么?

那么,你将如何做到预期的行为:

>>> 'foo'
'bar'
Run Code Online (Sandbox Code Playgroud)

没有关于设置自定义环境的限制,如果重建python是它所需要的,那就这样吧,但我真的不知道从哪里开始,我仍然希望有一个更简单的方法:)

python overloading

9
推荐指数
1
解决办法
473
查看次数

将 Python 内置类型替换为自定义类型

是否可以用自定义类型替换一些内置的 python 类型?

我想创建类似的东西:

class MyInt(object):
   ...
__builtin__.int = MyInt
x = 5
Run Code Online (Sandbox Code Playgroud)

python types object built-in

5
推荐指数
1
解决办法
1848
查看次数

标签 统计

python ×3

built-in ×1

exception ×1

message ×1

object ×1

overloading ×1

types ×1