考虑使用 'from' 关键字 pylint 建议明确重新加注
Consider explicitly re-raising using the 'from' keyword pylint suggestion
我有一小段 python 代码,我在其中使用了异常处理。
def handler(event):
try:
client = boto3.client('dynamodb')
response = client.scan(TableName=os.environ["datapipeline_table"])
return response
except Exception as error:
logging.exception("GetPipelinesError: %s",json.dumps(error))
raise GetPipelinesError(json.dumps({"httpStatus": 400, "message": "Unable to fetch Pipelines"}))
class GetPipelinesError(Exception):
pass
pylint 警告给我“考虑使用 'from' 关键字明确地重新加注”。
我几乎没有看到其他帖子,他们在其中使用了 from 并引发了错误。我做了这样的修改
except Exception as GetPipelinesError:
logging.exception("GetPipelinesError: %s",json.dumps(GetPipelinesError))
raise json.dumps({"httpStatus": 400, "message": "Unable to fetch Pipelines"}) from GetPipelinesError
这是正确的做法吗?
没有。 raise
-from
的目的是 chain exceptions. The correct syntax 在你的情况下是:
except Exception as error:
raise GetPipelinesError(json.dumps(
{"httpStatus": 400, "message": "Unable to fetch Pipelines"})) from error
raise
和 from
后面的表达式必须是异常 类 或实例。
我有一小段 python 代码,我在其中使用了异常处理。
def handler(event):
try:
client = boto3.client('dynamodb')
response = client.scan(TableName=os.environ["datapipeline_table"])
return response
except Exception as error:
logging.exception("GetPipelinesError: %s",json.dumps(error))
raise GetPipelinesError(json.dumps({"httpStatus": 400, "message": "Unable to fetch Pipelines"}))
class GetPipelinesError(Exception):
pass
pylint 警告给我“考虑使用 'from' 关键字明确地重新加注”。 我几乎没有看到其他帖子,他们在其中使用了 from 并引发了错误。我做了这样的修改
except Exception as GetPipelinesError:
logging.exception("GetPipelinesError: %s",json.dumps(GetPipelinesError))
raise json.dumps({"httpStatus": 400, "message": "Unable to fetch Pipelines"}) from GetPipelinesError
这是正确的做法吗?
没有。 raise
-from
的目的是 chain exceptions. The correct syntax 在你的情况下是:
except Exception as error:
raise GetPipelinesError(json.dumps(
{"httpStatus": 400, "message": "Unable to fetch Pipelines"})) from error
raise
和 from
后面的表达式必须是异常 类 或实例。