用户友好的错误
项目描述
代码 |
|
---|---|
pypi |
Erratum是一个Python包,旨在使将用户友好的错误消息轻松集成到您的项目中。让我们看看以下示例
>>> my_square_root(-1)
<ipython-input-3-a8d1f1b285c7> in my_square_root(n)
5
6 if n < 0:
----> 7 raise ValueError("You can only take the square root of a positive number")
8
9 return math.sqrt(n)
ValueError: You can only take the square root of a positive number
More info --> https://github.com/alcarney/erratum
如您所见,我们获取了传递给异常的错误消息,但我们还获取了一个可以找到更多关于错误及其修复方法信息的网页链接。
如何?让我们看看my_square_root
的实现
import math
from erratum import Error
class SqrtError(Error):
url = "https://github.com/alcarney/erratum"
@SqrtError
def my_square_root(n):
if n < 0:
raise ValueError("You can only take the square root of a positive number")
return math.sqrt(n)
在这里,我们通过从Error
类派生来声明我们的错误SqrtError
,这允许我们设置用户获取以了解更多关于错误的URL。然后,只需使用annotate
方法装饰我们想要应用装饰的任何函数即可。这将导致从函数内部抛出的任何异常都被标记为带有更多信息链接。