我收到以下错误消息:
从这里抛出的错误不会被处理,因为封闭的catch是 并非详尽无遗
在下面的try语句中:
if WCSession.isSupported() {
let session = WCSession.defaultSession()
if session.watchAppInstalled {
let UserInfo = ["waste":floatWastedAmount]
session.transferUserInfo(UserInfo)
do {
try session.updateApplicationContext(UserInfo)
} catch let error as NSError {
NSLog("Updating the context failed: " + error.localizedDescription)
}
}
}
我不确定为什么它说不详尽,因为任何错误都应该执行NSLog语句。任何指针都会有所帮助
答案 0 :(得分:0)
更改为以下内容..了解所有错误的一般情况:
if WCSession.isSupported() {
if session.watchAppInstalled {
let UserInfo = ["waste":floatWastedAmount]
do {
try session.updateApplicationContext(UserInfo)
} catch {
print("Updating the context failed")
}
}
}
答案 1 :(得分:0)
捕获的错误列表必须是详尽无遗的,您必须处理所有可能的情况。就像switch语句一样,你可以使用空catch作为休息。所以你的代码很好,只需添加空捕获
do {
try session.updateApplicationContext(UserInfo)
} catch let error as NSError {
NSLog("Updating the context failed: " + error.localizedDescription)
} catch {}