Gia*_*nou 3 python exception pandas
为了改善我的编码,我想知道应该将try / except放在函数内部还是将其放在外部。以下示例显示了我的意思。
import pandas as pd
df = pd.read_csv("data.csv")
# Example 1
def do_something(df):
# Add some columns
# Split columns
return df
try:
df = do_something(df)
except Exception, e:
print e
# Example 2
def do_something(df):
try:
# Add some columns
# Split columns
except Exception, e:
print e
df = pd.DataFrame()
return df
df = do_something(df)
Run Code Online (Sandbox Code Playgroud)
看起来似乎相同,但是第一个示例更清楚地说明了发生的情况,而第二个示例似乎更清晰。
如果该功能可以从异常中提供合理的恢复并在职责范围内进行处理,而无需任何其他信息,那么您可以在那里捕获异常
否则,最好由调用者处理。有时即使在这种情况下,该函数也可能会捕获异常,然后立即通过对调用者有意义的翻译再次引发该异常