Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Goodness, I hope not! This breaks all your downstream middleware and whatever business logic is invoked by your handlers. If you encounter a 500-worthy problem it's an `error` return like anything else.

`panic` is not for business logic.



> `panic` is not for business logic.

Neither are 500 responses. A perfect HTTP server never responds 500 and there aren't any situations I've ever encountered where there's any valuable error recovery or business logic left to be done once the server has run into a 500-worthy issue.

IIRC, the HTTP server in the Go standard library recovers panics and issues 500 responses, which is what I would expect it to do.


500 maps to a set of business logic errors, sure. Why not?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: