🚑 fix: safeguard NewAPIError.Error() against nil pointer panic

Backend
• `types/error.go`
  – Return empty string when receiver itself is `nil`.
  – If `Err` is `nil`, fall back to `errorCode` string to avoid calling `nil.Error()`.

This prevents runtime panics when the error handler builds an OpenAI-style error response but the underlying `Err` field has not been set.
This commit is contained in:
t0ng7u
2025-07-13 00:16:38 +08:00
parent d22ee5d451
commit 31d82a3169
3 changed files with 10 additions and 3 deletions

View File

@@ -88,6 +88,13 @@ func (e *NewAPIError) GetErrorCode() ErrorCode {
}
func (e *NewAPIError) Error() string {
if e == nil {
return ""
}
if e.Err == nil {
// fallback message when underlying error is missing
return string(e.errorCode)
}
return e.Err.Error()
}