【发布时间】:2017-03-04 04:22:14
【问题描述】:
catch let error as LocksmithError{
print(error)// it would print the case of the error.
}
如果我这样做了
catch LocksmithError.Duplicate{
}
catch{
print (LocksmithError) // Obviously I would just print LocksmithError, it won't print the case
print (LocksmithError.rawValue) // prints nothing
}
我的问题是:使用第二种方法我可以实际检索到错误的值/情况吗?或者,如果我没有在入口点(即捕获)获得正确的价值,那么我就错过了这样做的机会!
【问题讨论】:
-
你可以在无条件的
catch中print(error)。 -
@Hamish 对不起,我不明白你的意思?
-
你可以写
catch { print(error) }... -
@Hamish 但如果是这里的情况 Duplicate 并且我 已经 抓住了它,那么我将无法打印它
-
是的,这就是捕捉的工作原理。我误解了你的问题吗?我以为您只是在问如何在最后的
catch块中检索错误。所以你的问题实际上是如何打印给定的错误,无论它是否已经被捕获?如果是这样,请edit你的帖子说清楚:)
标签: swift error-handling enums try-catch