如何处理Swift的"尝试?" 导致"尝试的结果?未使用"?

Fyo*_*yok 17 error-handling swift swift2

我想打电话给某些方法throw.同时我不关心可能抛出的异常,我只想调用方法.但是,如果我尝试做这样的事情:

try? managedObjectContext.save()
Run Code Online (Sandbox Code Playgroud)

我收到警告"尝试的结果?未使用".在这种情况下我该怎么办?沉默警告?怎么样?

做这样的事情:

let error: NSError = try? managedObjectContext.save()
Run Code Online (Sandbox Code Playgroud)

?表达式变为两倍大,我得到未使用的常量.

t4n*_*hpt 28

根据您的要求,"同时我不关心可能抛出的异常,我只想调用方法",这样做:

try! managedObjectContext.save()
Run Code Online (Sandbox Code Playgroud)

但是如果抛出错误它会崩溃.因此,使用下面的代码片段来保证安全:

_ = try? managedObjectContext.save()
Run Code Online (Sandbox Code Playgroud)

  • 如果抛出错误,那将会崩溃.查看链接副本的答案. (2认同)