在 Python 函数中正确构造 try 和 except
Properly structure try and except in Python functions
我正在尝试理解 Python 中 try 和 except 的概念,我知道这可以用来解决代码中的问题,而不会中断应用程序的流程。
我正在开发一个具有客户端和开发人员端的应用程序。因此,我不想向用户展示确切的错误是什么,而是向他们展示他们可以看到的代码,然后报告并发布它,我可以根据该代码找到错误。我不知道该怎么做。
我查看了主题 Manually raising an exception in Python。
我的程序有多个函数,这些函数通过计算连接在一起,即
def function_1(_input_):
# do some jobs here get the result then,
result = function_2(result)
return result
def function_2(_input_):
# do some jobs here and get the result then,
result = function_3(result)
return result
...
我想用错误消息和导致问题的函数捕获在此过程中发生的错误。
我已经实现了这样的东西:
def function_1(_input_):
try:
# do some jobs here get the result then,
result = function_2(result)
except Exception as e:
print(e)
return result
def function_2(_input_):
try:
# do some jobs here and get the result then,
result = function_3(result)
except Exception as e:
print(e)
return result
...
try
子句的概念是避免程序崩溃。如果出现异常,程序将执行except
子句下面的代码。如果你想获取异常并且不显示给用户,我建议你将它们写入文件。
def function_2(_input_):
try:
# do some jobs here and get the result then,
result = function_3(result)
except Exception as e:
with open('file_name', 'w') as f:
f.write(e)
return result
您可能想尝试 python 的 logging 功能。它是标准库的一部分。
https://docs.python.org/3/howto/logging.html
此外,日志输出仅向开发人员显示。您甚至可能会发现一些原本会错过的错误或漏洞。
我正在尝试理解 Python 中 try 和 except 的概念,我知道这可以用来解决代码中的问题,而不会中断应用程序的流程。
我正在开发一个具有客户端和开发人员端的应用程序。因此,我不想向用户展示确切的错误是什么,而是向他们展示他们可以看到的代码,然后报告并发布它,我可以根据该代码找到错误。我不知道该怎么做。
我查看了主题 Manually raising an exception in Python。
我的程序有多个函数,这些函数通过计算连接在一起,即
def function_1(_input_):
# do some jobs here get the result then,
result = function_2(result)
return result
def function_2(_input_):
# do some jobs here and get the result then,
result = function_3(result)
return result
...
我想用错误消息和导致问题的函数捕获在此过程中发生的错误。 我已经实现了这样的东西:
def function_1(_input_):
try:
# do some jobs here get the result then,
result = function_2(result)
except Exception as e:
print(e)
return result
def function_2(_input_):
try:
# do some jobs here and get the result then,
result = function_3(result)
except Exception as e:
print(e)
return result
...
try
子句的概念是避免程序崩溃。如果出现异常,程序将执行except
子句下面的代码。如果你想获取异常并且不显示给用户,我建议你将它们写入文件。
def function_2(_input_):
try:
# do some jobs here and get the result then,
result = function_3(result)
except Exception as e:
with open('file_name', 'w') as f:
f.write(e)
return result
您可能想尝试 python 的 logging 功能。它是标准库的一部分。
https://docs.python.org/3/howto/logging.html
此外,日志输出仅向开发人员显示。您甚至可能会发现一些原本会错过的错误或漏洞。