Saltar al contenido

Angular 6 error handlig – HttpErrorResponse tiene un estado indefinido

Solución:

Resuelto … el objeto estaba vacío debido a un interceptor. Entonces, si algo similar te está sucediendo, échales un vistazo.

Lamento haber hecho perder el tiempo a todos, desconocía la existencia de ese interceptor en particular.

Creo que su problema es cómo está lanzando el error en .Net. Prueba esto:

var statusCode = HttpStatusCode.InternalServerError;

var response = new HttpResponseMessage(statusCode)
{
    Content = new ObjectContent<object>(
        new
        {
            Message = "Error Message",
            ExceptionMessage = "StackTrace"
        },
        new JsonMediaTypeFormatter())
};

throw new HttpResponseException(response);

O si no funciona, intente esto: https://stackoverflow.com/a/28589333/8758483

Otra buena idea es centralizar el manejo de errores implementando un ErrorHandler en Angular.

import { ErrorHandler } from '@angular/core';

@Injectable()
export class GlobalErrorHandler implements ErrorHandler {  
  handleError(error) {
    // your custom error handling logic    
  }
}

Luego le dice a Angular que desea usar esta clase en lugar de la predeterminada proporcionándola en su NgModule:

@NgModule({   
  providers: [{provide: ErrorHandler, useClass: GlobalErrorHandler}]
})

Si quieres más detalles puedes leer este artículo:

  • Esperando lo inesperado: mejores prácticas para el manejo de errores en Angular
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *