异常与错误码的取舍?什么时候用异常,什么时候用错误码?