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

Source: Alternatives to try? #swiftlang — Erica Sadun