Skip to content

Commit 458bf45

Browse files
committed
WEB-826: Improve null-safety in ErrorHandlerInterceptor
Safely access response.error with optional chaining; honor root error.defaultUserMessage before developerMessage. Handles network errors and non-JSON responses without crashing. Made-with: Cursor
1 parent d7c9f67 commit 458bf45

1 file changed

Lines changed: 6 additions & 5 deletions

File tree

src/app/core/http/error-handler.interceptor.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,12 @@ export class ErrorHandlerInterceptor implements HttpInterceptor {
4545
*/
4646
private handleError(response: HttpErrorResponse, request: HttpRequest<any>): Observable<HttpEvent<any>> {
4747
const status = response.status;
48-
let errorMessage = response.error.developerMessage || response.message;
49-
if (response.error.errors) {
50-
if (response.error.errors[0]) {
51-
errorMessage = response.error.errors[0].defaultUserMessage || response.error.errors[0].developerMessage;
52-
}
48+
const error = response?.error;
49+
let errorMessage =
50+
error?.defaultUserMessage || error?.developerMessage || response?.message || 'Unknown error';
51+
if (error?.errors?.[0]) {
52+
errorMessage =
53+
error.errors[0].defaultUserMessage || error.errors[0].developerMessage || errorMessage;
5354
}
5455

5556
const isClientImage404 = status === 404 && request.url.includes('/clients/') && request.url.includes('/images');

0 commit comments

Comments
 (0)