Môi trường phát triển
Một lợi thế khi làm việc với server-side framework mạnh là bạn được hưởng sẵn cơ chế xử lý exception. Ví dụ, Laravel đi kèm công cụ báo lỗi trực quan, hiển thị stack trace được định dạng rõ ràng trong môi trường phát triển local. Khó khăn nằm ở chỗ khi bạn thực hiện request XHR (như Inertia vẫn làm) và gặp lỗi phía máy chủ, thông thường bạn phải mở tab Network trong devtools của trình duyệt để lần tìm và chẩn đoán vấn đề. Inertia giải quyết vấn đề này bằng cách hiển thị mọi response không phải Inertia trong một modal. Nhờ vậy, bạn vẫn có trải nghiệm báo lỗi trực quan quen thuộc dù request được thực hiện qua XHR.Phần tử Dialog
Mặc định, Inertia hiển thị error modal bằng một overlay<div> tùy chỉnh. Tuy nhiên, bạn có thể chọn dùng phần tử HTML <dialog> nguyên bản, vốn cung cấp chức năng modal tích hợp sẵn bao gồm cả xử lý backdrop.
Để bật tính năng này, hãy cấu hình tùy chọn future.useDialogForErrorModal trong cấu hình mặc định của ứng dụng.
Production
Trong production, bạn nên trả về response lỗi Inertia phù hợp thay vì dựa vào cơ chế báo lỗi qua modal dành cho môi trường phát triển. Để làm vậy, bạn cần cập nhật exception handler mặc định của framework để trả về một trang lỗi tùy chỉnh. Khi xây dựng ứng dụng Laravel, bạn có thể thực hiện việc này bằng phương thức exceptionrespond trong file bootstrap/app.php của ứng dụng.
ErrorPage. Bạn cần thực sự tạo component này; nó sẽ đóng vai trò trang lỗi dùng chung cho ứng dụng. Dưới đây là một component lỗi mẫu để bạn dùng làm điểm khởi đầu.