adamu
Handling custom errors in Phoenix error view
I’m experimenting with handling custom errors in Phoenix.
I’ve defined a custom error, MyApp.NotFoundError which implements Plug.Exception to return :not_found.
I’ve also defined an error_html/404.heex component that will render a 404 page when this error (amongst others) is raised.
What I’m struggling with is how to add context-specific information to this error page. For example, debugging the assigns passed to the component, I can see that a map with reason (containing my raised error), status, stack, kind: :error, etc. is passed to the component, but I can’t see any documentation about these variables - the docs only refer to assigns that are passed in from the controller (of which there is none, in this case, because Phoenix is directly rendering the error view), and I don’t want to depend on observed behaviour.
What I want to do, for example, is have the 404 page say something more specific than just “Not Found” if I can provide extra information because I know I have a MyApp.NotFoundError.
Does it make sense to detect the reason from the view? Is that documented anywhere? Or is there a better approach to adding context to custom errors?







