There are a lot of similar questions but no one describes how to handle exceptions with try?
+ double optional.
I know str1 doesn't generate exception. It is just an example:
let str1: String? = "some string"
let str2: String? = try? str1 //compilation error because "try? str1" returns object of type String??
One of the possible solutions is replace try?
-> try
:
let str1: String? = "some string"
let str2: String? = {
do {
return try str1
} catch {
return nil
}
}()
But is it possible to preserve try?
like the following?
let str2: String? = try? ...//do something with str1 in the same single line
P.S. In Swift 5 the initial code works but I need to something with it in Swift 4 (upgrading to Swift 5 requires significant changes in project)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…