add ServerErrorException

dev can choose ServerErrorException to show error and error code to web client intentionally. 

Unknown exception hides detail behind "500" Server side error.