DocumentaçãoAEM as a Cloud ServiceGuia do usuário

Personalização de Páginas de Erro

Última atualização: 6 de fevereiro de 2025
  • Aplica-se a:
  • Experience Manager as a Cloud Service
  • Tópicos:
  • Desenvolvimento

Criado para:

  • Administrador
  • Desenvolvedor

O AEM vem com um manipulador de erros padrão para lidar com erros HTTP; por exemplo, mostrando:

Mensagem de erro padrão

Para responder a erros, o AEM fornece um script 404.jsp em /libs/sling/servlet/errorhandler.

DICA
Como o AEM é baseado no Apache Sling, há mais informações disponíveis na documentação de tratamento de erros do Apache.
OBSERVAÇÃO
Em uma instância de autor, o Filtro de Depuração WCM do CQ está habilitado por padrão. Isso sempre resulta no código de resposta 200. O manipulador de erros padrão responde gravando o rastreamento de pilha completa na resposta.
Em uma instância de publicação, o Filtro de Depuração CQ WCM está sempre desabilitado (mesmo se configurado como habilitado).

Como personalizar páginas mostradas pelo manipulador de erros

Você pode desenvolver seus próprios scripts para personalizar as páginas mostradas pelo manipulador de erros quando um erro for encontrado. Para fazer isso, você usa o mecanismo de sobreposição padrão do AEM para que suas páginas personalizadas sejam criadas em /apps e sobreponham as páginas padrão em /libs.

  1. No repositório, copie o(s) script(s) padrão:

    • de /libs/sling/servlet/errorhandler/
    • para /apps/sling/servlet/errorhandler/

    O caminho de destino não existe por padrão, portanto, é necessário criá-lo ao fazer isso pela primeira vez.

  2. Navegue até /apps/sling/servlet/errorhandler. Aqui é possível:

    • edite o script existente apropriado para fornecer as informações necessárias. Ou
    • crie e edite um novo script para o código necessário.
  3. Salve as alterações e teste.

CAUTION
O script 404.jsp foi projetado especificamente para atender à autenticação AEM; especificamente, para permitir o logon do sistema no caso desses erros.
Portanto, a substituição desse script deve ser feita com muito cuidado.

Personalização da resposta a erros HTTP 500

O HTTP 500 Erro Interno do Servidor indica um erro do lado do servidor, como o servidor ter encontrado uma condição inesperada que o impediu de atender à solicitação.

Quando o processamento de solicitações resulta em uma exceção, a estrutura Apache Sling (na qual o AEM é integrado):

  • Registra a exceção

  • E retorna no corpo da resposta:

    • O código de resposta HTTP 500
    • O rastreamento de pilha de exceção

Com a personalização das páginas mostradas pelo manipulador de erros, um script 500.jsp pode ser criado. No entanto, ele só é usado se HttpServletResponse.sendError(500) for executado explicitamente; ou seja, a partir de um capturador de exceção.

Caso contrário, o código de resposta será definido como 500, mas o script 500.jsp não será executado.

Para tratar erros 500, o nome de arquivo do script do manipulador de erros deve ser igual à classe de exceção (ou superclasse). Para lidar com todas essas exceções você pode criar um script /apps/sling/servlet/errorhandler/Throwable.jsp ou /apps/sling/servlet/errorhandler/Exception.jsp.

NOTE
No AEM as Cloud Service, o CDN fornece uma página de erro genérica quando um erro 5XX é recebido do back-end. Para permitir a passagem da resposta real do back-end, é necessário adicionar o seguinte cabeçalho à resposta: x-aem-error-pass: true.
Isso funciona somente para respostas provenientes do AEM ou da camada Apache/Dispatcher. Outros erros inesperados provenientes de camadas de infraestrutura intermediária ainda exibirão a página de erro genérico.
CAUTION
Em uma instância de autor, o Filtro de Depuração WCM do CQ está habilitado por padrão. Isso sempre resulta no código de resposta 200. O manipulador de erros padrão responde gravando o rastreamento de pilha completa na resposta.
Para um manipulador de erros personalizado, são necessárias respostas com o código 500; portanto, o Filtro de Depuração WCM do CQ deve ser desabilitado. Isso garante que o código de resposta 500 seja retornado, o que, por sua vez, aciona o manipulador de erros Sling correto.
Em uma instância de publicação, o Filtro de Depuração CQ WCM está sempre desabilitado (mesmo se configurado como habilitado).
recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab