ng generate component error
<div class="error-container">
<h1>¡Vaya! Ha ocurrido un error.</h1>
<p>Lo sentimos, pero algo salió mal. Por favor, intenta de nuevo más tarde.</p>
<a routerLink="/">Volver a la página principal</a>
</div>
.error-container {
text-align: center;
padding: 20px;
color: #d9534f;
}
const routes: Routes = [
// Rutas definidas
{ path: '**', component: ErrorComponent }
];
Si estás realizando solicitudes HTTP y necesitas manejar errores, puedes implementar un HttpInterceptor o manejar errores directamente en el servicio.
Ejemplo de manejo de errores en un servicio:
import { Injectable } from '@angular/core';
import { HttpClient, HttpErrorResponse } from '@angular/common/http';
import { catchError } from 'rxjs/operators';
import { throwError } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class DataService {
constructor(private http: HttpClient) {}
getData() {
return this.http.get('https://api.example.com/data')
.pipe(
catchError(this.handleError)
);
}
private handleError(error: HttpErrorResponse) {
// Aquí puedes realizar el manejo de errores
console.error('Ocurrió un error:', error);
return throwError('Algo salió mal; intenta de nuevo más tarde.');
}
}
Si deseas redirigir al usuario al componente de error desde un servicio o componente en caso de que ocurra un error, puedes utilizar el Router.
Ejemplo de redirección:
import { Router } from '@angular/router';
constructor(private router: Router) {}
someMethod() {
this.dataService.getData().subscribe({
next: data => {
// Manejar los datos
},
error: err => {
this.router.navigate(['/error']); // Redirigir al componente de error
}
});
}