The nice thing about try? is that you don’t have to encapsulate calls within a do-catch block. Your result returns as an optional: .Some for success, .None for fail. You can use try? in both if-let statements, and with guard.
Swift 2.0 error handling