Error Handling System
The Mattermost API Client includes sophisticated error handling capabilities to provide meaningful feedback when API operations fail.
User-Friendly Error Messages
When API calls fail, the system:
- Attempts to retrieve detailed error information from Mattermost's logs
- Looks for a translated error message in EspoCRM's language system
- Presents a clean, formatted error to end users
This prevents technical API errors from confusing users while still providing actionable information.
Fallback Mechanism
The system supports optional fallback operations when specific errors occur. For example, if a token creation fails because a token already exists, you could configure a fallback to retrieve the existing token instead.
Technické informace
The error handling is implemented in ApiExceptionUtil, which provides these key methods:
tryExecuteThrowForFrontend()
- Parameters:
callable $operation: The API operation to executestring|null $fallbackOn: Optional error reason that triggers fallbackcallable|null $fallbackOperation: Operation to execute if fallback condition matches- Returns: Mixed result from operation or fallback
- Throws:
ErrorSilentwith formatted error for frontend display- Original exception if not an
ApiException
getTranslatedMessage()
- Parameters:
LogInfo|null $logInfo: Error details from Mattermost- Returns: Translated error message or null
This class integrates with EspoCRM's Language system for translations and ErrorSilent for user-friendly error presentation.