Unverified Commit a5861271 authored by limbo's avatar limbo Committed by GitHub

Refactor error handling in GenerateTaskPipeline class (#2345)

parent cd078a62
...@@ -463,44 +463,30 @@ class GenerateTaskPipeline: ...@@ -463,44 +463,30 @@ class GenerateTaskPipeline:
:param e: exception :param e: exception
:return: :return:
""" """
if isinstance(e, ValueError): error_responses = {
data = { ValueError: {'code': 'invalid_param', 'status': 400},
'code': 'invalid_param', ProviderTokenNotInitError: {'code': 'provider_not_initialize', 'status': 400},
'message': str(e), QuotaExceededError: {
'status': 400
}
elif isinstance(e, ProviderTokenNotInitError):
data = {
'code': 'provider_not_initialize',
'message': e.description,
'status': 400
}
elif isinstance(e, QuotaExceededError):
data = {
'code': 'provider_quota_exceeded', 'code': 'provider_quota_exceeded',
'message': "Your quota for Dify Hosted Model Provider has been exhausted. " 'message': "Your quota for Dify Hosted Model Provider has been exhausted. "
"Please go to Settings -> Model Provider to complete your own provider credentials.", "Please go to Settings -> Model Provider to complete your own provider credentials.",
'status': 400
}
elif isinstance(e, ModelCurrentlyNotSupportError):
data = {
'code': 'model_currently_not_support',
'message': e.description,
'status': 400 'status': 400
} },
elif isinstance(e, InvokeError): ModelCurrentlyNotSupportError: {'code': 'model_currently_not_support', 'status': 400},
data = { InvokeError: {'code': 'completion_request_error', 'status': 400}
'code': 'completion_request_error', }
'message': e.description,
'status': 400 # Determine the response based on the type of exception
} data = error_responses.get(type(e))
if data:
data.setdefault('message', getattr(e, 'description', str(e)))
else: else:
logging.error(e) logging.error(e)
data = { data = {
'code': 'internal_server_error', 'code': 'internal_server_error',
'message': 'Internal Server Error, please contact support.', 'message': 'Internal Server Error, please contact support.',
'status': 500 'status': 500
} }
return { return {
'event': 'error', 'event': 'error',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment