C++ try-catch 使用时机
UI层(用户控件):应该捕获所有异常,并给用户友好的提示。同时,记录日志。
业务层:通常不捕获异常,或者只捕获特定异常进行转换。如果业务层有复杂的业务逻辑,可能会捕获数据层或基础设施层的异常,并转换为业务异常。
数据层:捕获技术异常(如数据库操作异常)并进行转换,同时进行资源清理。
基础设施层:通常不捕获异常,或者只捕获异常进行资源清理,然后重新抛出
UI层(用户控件):应该捕获所有异常,并给用户友好的提示。同时,记录日志。
业务层:通常不捕获异常,或者只捕获特定异常进行转换。如果业务层有复杂的业务逻辑,可能会捕获数据层或基础设施层的异常,并转换为业务异常。
数据层:捕获技术异常(如数据库操作异常)并进行转换,同时进行资源清理。
基础设施层:通常不捕获异常,或者只捕获异常进行资源清理,然后重新抛出