如何在 main 方法中引发自定义异常?
how to raise a custom exception in main method proper?
我想了解如何在带有操作的主要方法中引发自定义错误。下面是我的 sudo 代码,但不起作用。
我想引发一个自定义异常,该异常将转到带有标记、消息值的 main 方法中除外。但是下面的代码输出 class:
class 'main.pdv_error_response'
class my_exceptions(Exception):
"""Base class for other exceptions"""
pass
class pdv_error_response(my_exceptions):
def __init__(self, tag, message):
self.tag = tag
self.tag = message
def tryerror(x):
if x < 0:
raise(pdv_error_response('test','output'))
def main():
try:
tryerror(-1)
except:
if pdv_error_response:
print(pdv_error_response)
if __name__ == '__main__':
main()
您似乎正在打印一个对象,因此它不会打印您必须在 main()
中更改的消息。
def main():
try:
tryerror(-1)
except pdv_error_response as e:
if pdv_error_response:
print(e)
现在您可以获得预期的输出。
更多内容可以参考User Defined Exception
我想了解如何在带有操作的主要方法中引发自定义错误。下面是我的 sudo 代码,但不起作用。
我想引发一个自定义异常,该异常将转到带有标记、消息值的 main 方法中除外。但是下面的代码输出 class:
class 'main.pdv_error_response'
class my_exceptions(Exception):
"""Base class for other exceptions"""
pass
class pdv_error_response(my_exceptions):
def __init__(self, tag, message):
self.tag = tag
self.tag = message
def tryerror(x):
if x < 0:
raise(pdv_error_response('test','output'))
def main():
try:
tryerror(-1)
except:
if pdv_error_response:
print(pdv_error_response)
if __name__ == '__main__':
main()
您似乎正在打印一个对象,因此它不会打印您必须在 main()
中更改的消息。
def main():
try:
tryerror(-1)
except pdv_error_response as e:
if pdv_error_response:
print(e)
现在您可以获得预期的输出。
更多内容可以参考User Defined Exception