Tengo la aplicación Angular 9 en ejecución y, según la implementación correcta, si se produce alguna excepción no controlada, estoy enrutando a la página de error.
@Injectable() export class CustomErrorHandler implements ErrorHandler { handleError(errorObj) { router.navigate(['/error'], { queryParams: { error: JSON.stringify(errorDetails) } }) } }Estoy usando la clase ErrorHandler y quiero mostrar la página de error como superposición, donde la página de error se mostrará en la parte superior de la página actual y, en segundo plano, la página actual aún debería mostrarse.
Te recomiendo que uses el cuadro de diálogo de Angular Material.
Importaciones:
import { MatDialog } from '@angular/material';Constructor:
constructor( private dialog: MatDialog, ) { }Función para mostrar el diálogo:
error() { const dialogRef = this.dialog.open(CustomErrorHandler, { width: '70%', // Make this as big as you want data: { error: this.errorType } //Put here the data you want to display one the error page. If you dont need it just delete the line and the , }); }Puedes encontrar más información aquí