对于上线的站点禁用调试模式最后异常是用什么来记录

如题,,我们在开发测试阶段,一般是把调试模式打开,有异常出现直接可以显示页面上,
但是一旦项目上线了,我们就要把调试模式关闭。此时如果出现异常的话要怎么去记录呢??
还有我们的一些用于调试模式的代码(如 try{ //代码 }catch($e){ //代码 })是否要在项目上线之后注释掉??