mirror of https://github.com/langgenius/dify.git
fix: meaningless error messages
This commit is contained in:
parent
4ceae655bd
commit
5edfbd5305
|
|
@ -980,10 +980,8 @@ class DraftWorkflowTriggerRunApi(Resource):
|
|||
)
|
||||
except InvokeRateLimitError as ex:
|
||||
raise InvokeRateLimitHttpError(ex.description)
|
||||
except ValueError as e:
|
||||
raise e
|
||||
except PluginInvokeError as e:
|
||||
raise e
|
||||
raise ValueError(e.to_user_friendly_error())
|
||||
except Exception as e:
|
||||
logger.exception("Error polling trigger debug event")
|
||||
raise e
|
||||
|
|
@ -1040,11 +1038,8 @@ class DraftWorkflowTriggerNodeApi(Resource):
|
|||
node_id=node_id,
|
||||
)
|
||||
event = poller.poll()
|
||||
except ValueError as e:
|
||||
logger.exception("Error polling trigger debug event")
|
||||
raise e
|
||||
except PluginInvokeError as e:
|
||||
raise e
|
||||
raise ValueError(e.to_user_friendly_error())
|
||||
except Exception as e:
|
||||
logger.exception("Error polling trigger debug event")
|
||||
raise e
|
||||
|
|
@ -1119,10 +1114,8 @@ class DraftWorkflowTriggerRunAllApi(Resource):
|
|||
user_id=current_user.id,
|
||||
node_ids=node_ids,
|
||||
)
|
||||
except ValueError as e:
|
||||
raise e
|
||||
except PluginInvokeError as e:
|
||||
raise e
|
||||
raise ValueError(e.to_user_friendly_error())
|
||||
except Exception as e:
|
||||
logger.exception("Error polling trigger debug event")
|
||||
raise e
|
||||
|
|
|
|||
|
|
@ -58,6 +58,20 @@ class PluginInvokeError(PluginDaemonClientSideError):
|
|||
except Exception:
|
||||
return self.description
|
||||
|
||||
def to_user_friendly_error(self, plugin_name: str = "currently running plugin") -> str:
|
||||
"""
|
||||
Convert the error to a user-friendly error message.
|
||||
|
||||
:param plugin_name: The name of the plugin that caused the error.
|
||||
:return: A user-friendly error message.
|
||||
"""
|
||||
return (
|
||||
f"An error occurred in the {plugin_name}, "
|
||||
f"please contact the author of {plugin_name} for help, "
|
||||
f"error type: {self.get_error_type()}, "
|
||||
f"error details: {self.get_error_message()}"
|
||||
)
|
||||
|
||||
|
||||
class PluginUniqueIdentifierError(PluginDaemonClientSideError):
|
||||
description: str = "Unique Identifier Error"
|
||||
|
|
|
|||
|
|
@ -190,7 +190,9 @@ class TriggerManager:
|
|||
if e.get_error_type() == "EventIgnoreError":
|
||||
return TriggerInvokeEventResponse(variables={}, cancelled=True)
|
||||
logger.exception("Failed to invoke trigger event")
|
||||
raise TriggerPluginInvokeError(description=e.get_error_message()) from e
|
||||
raise TriggerPluginInvokeError(
|
||||
description=e.to_user_friendly_error(plugin_name=provider.entity.identity.name)
|
||||
) from e
|
||||
|
||||
@classmethod
|
||||
def subscribe_trigger(
|
||||
|
|
|
|||
|
|
@ -160,10 +160,7 @@ class ToolNode(Node):
|
|||
status=WorkflowNodeExecutionStatus.FAILED,
|
||||
inputs=parameters_for_log,
|
||||
metadata={WorkflowNodeExecutionMetadataKey.TOOL_INFO: tool_info},
|
||||
error="An error occurred in the plugin, "
|
||||
f"please contact the author of {node_data.provider_name} for help, "
|
||||
f"error type: {e.get_error_type()}, "
|
||||
f"error details: {e.get_error_message()}",
|
||||
error=e.to_user_friendly_error(plugin_name=node_data.provider_name),
|
||||
error_type=type(e).__name__,
|
||||
)
|
||||
)
|
||||
|
|
|
|||
Loading…
Reference in New Issue