애플리케이션에서 에러가 발생하면 라라벨은 적당한 예외를 던지고 예외 처리 핸들러를 실행합니다.

예를 들어, 라우트에 등록되지 않은 리소스를 요청할 경우 NotFoundHttpException 예외를 던지고 아래와 같이 스택 트레이스를 표시합니다.

 

스택 트레이스는 .env 파일의 APP_DEBUG 설정이 true 로 되어 있어야 출력하며 false 일 경우 출력하지 않으므로 에디터로 .env 의 APP_DEBUG 항목을 수정후 다시 연결하면 아래와 같은 에러 화면을 출력합니다.

 

production 환경에서는 일반적으로 false 로 운영하므로 예외가 발생할 경우 사용자는 어떤 문제가 발생했는지 알수 가 없으므로 어떤 부분이 잘못되었는지 정보를 선별해서 사용자에게 표시하는 별도의 에러 처리 화면을 제공하는 것이 바람직합니다.

라라벨은 손쉽게 HTTP 응답 코드에 맞는 에러 화면(HTTP 상태 코드 목록은 REF: HTTP 응답(Response) 엿보기 참조하세요.)을 만들수 있는 기능을 제공합니다. 

단지 resources/views/errors/ 폴더에 파일명을 HTTP 상태 코드.blade.php 로 하여 에러 화면을 만들어 주면 되며 예로 "HTTP 404 Not Found" 의 경우 resources/views/errors/404.blade.php파일을 만들어 주면 됩니다.


인증되지 않았음을 나타내는 상태 코드인 "HTTP 401 Unauthorized"  의 경우 resources/views/errors/401.blade.php 파일을 생성해 주면 됩니다.

라라벨은 "HTTP 503 Service Unavailable" 에 대한 화면을 기본 포함하고 있습니다.