swift - 如何处理 swift 3 中的错误?

标签 swift alert nserror

我正在使用以下代码:

   let jsonData1 = (try? Data(contentsOf: URL(string: "\(label2)")!)) as Data!
    var error : NSError?
    let ReadableJSON1 = JSON ( data:jsonData1!, options: JSONSerialization.ReadingOptions.mutableContainers, error: nil )


    if (error != nil){

        let myAlert = UIAlertController(title: "Alert", message: error?.localizedDescription, preferredStyle: .alert) //you can change message to whatever you want.
        let okAction = UIAlertAction(title: "Ok", style: .default, handler: nil)
        myAlert.addAction(okAction)
        self.present(myAlert, animated: true, completion: nil)

        return
    }

如果应用程序在从链接打开 json 文件时发现错误,则应向用户显示警报。目前它正在崩溃,似乎这些操作没有执行,这就是为什么我没有看到警报。您能帮我解决这个问题吗? enter image description here

最佳答案

试试这个代码:

var json : [String: AnyObject]? // Property
do {
    let jsonData1 = (try? Data(contentsOf: URL(string: "\(label2)")!)) as Data!
    json = try JSONSerialization.jsonObject(with: jsonData1, options: JSONSerialization.ReadingOptions.mutableContainers) as! [String: AnyObject]
} 
catch let error as NSError {
    let myAlert = UIAlertController(title: "Alert", message: error?.localizedDescription, preferredStyle: .alert) //you can change message to whatever you want.
    let okAction = UIAlertAction(title: "Ok", style: .default, handler: nil)
    myAlert.addAction(okAction)
    self.present(myAlert, animated: true, completion: nil)

    return
}

希望对你有帮助!快乐编码!

关于swift - 如何处理 swift 3 中的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40639752/

相关文章:

ios - ScrollView无法显示从另一个VC传递的图像

ios - didFailProvisionalNavigation 错误未本地化

arrays - 如何使用 Firebase 数据库进行分页?

ios - 无法使用 Firebase 存储 UI 加载某些图像(SD Web 图像)

javascript - 如何监听警报弹出窗口,然后在 javascript 中弹出警报时自动单击“确定”?

sql-server - 存储过程执行时间过长时发出 SQL 警报

Javascript - 收到警报消息后停止继续

objective-c - 如何跨线程跟踪NSError对象?

Swift:Corelocation 处理 didFailWithError 中的 NSError

ios - 以编程方式切换 subview Controller : XLPagerTabStrip