finally都能保证资源管理时的异常安全，但相对来说，使用RAII的代码相对更加简洁。如比雅尼·斯特劳斯特鲁普所说，“在真实环境中，调用资源释放代码的次数远多于资源类型的个数，所以相对于使用finally来说，使用RAII能减少代码量。”例如在Java中使用finally来管理Socket资源void foo() {在采用RAII后，代码可以简化为void foo() {特别是当大量使用Socket时，重复的finally就显得没有必要。