博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Swift基础--Swift中的异常处理
阅读量:6235 次
发布时间:2019-06-22

本文共 1694 字,大约阅读时间需要 5 分钟。

Swift中的异常处理

  • OC中的异常处理:方法的参数要求传入一个error指针地址,方法执行完后,如果有错误,内部会给error赋值
  • Swift中的异常处理:有throws的方法,就要try起来,然后do {}catch {do中出现错误异常才执行这里的代码}进行处理

762322-20160628002513843-587913483.png

  • 格式:
do {            try 有throws的方法        } catch {        }
  • Swift中异常处理的三种方式
    • try : 正常处理,必须用到do {} catch {}
    • try! : 告诉系统一定没有异常,也就是说不用do catch来处理,开发中不建议用.一旦有异常,程序崩溃
    • try? : 告诉系统可能有异常,也可能没有异常.如果没有异常,系统会自动将结果包装成一个可选类型给你,如果有异常,系统会返回nil.如果使用try?可以不是同do catch进行处理
  • 项目中的代码
do {            let objc = try NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.AllowFragments) as! [[String : AnyObject]]            // 3.遍历字典数组,创建子控制器            for dict in objc {                guard let title = dict["title"] as? String else {                    return                }                guard let vcName = dict["vcName"] as? String else {                    return                }                guard let imageName = dict["imageName"] as? String else {                    return                }                addChildViewController(vcName, title: title, normalImage: imageName)            }        } catch {            // json数据异常,以默认方式创建控制器            self .addChildViewController("HomeTableViewController", title: "首页", normalImage: "tabbar_home")            self .addChildViewController("MessageTableViewController", title: "消息", normalImage: "tabbar_message_center")            self .addChildViewController("NullViewController", title: "", normalImage: "")            self .addChildViewController("DiscoverTableViewController", title: "发现", normalImage: "tabbar_discover")            self .addChildViewController("ProfileTableViewController", title: "我", normalImage: "tabbar_profile")        }

转载于:https://www.cnblogs.com/gchlcc/p/5621994.html

你可能感兴趣的文章
什么是LogDashboard?
查看>>
1025. 水枪灭火——java
查看>>
leetcode148. Sort List
查看>>
limits.conf文件修改注意事项
查看>>
Spring4面向切面AOP
查看>>
数据结构和算法学习总结04 线性表---栈
查看>>
ios证书
查看>>
sql like N'%...%' 在C#里的写法
查看>>
HTML css样式
查看>>
价值观的选择
查看>>
【多线程】的简单理解&进程 and【你的电脑是几核的?】
查看>>
Find Integer
查看>>
开始学习C++
查看>>
让外界可以访问电脑上的网站的几种方式——花生壳,域名,IIS(待)
查看>>
# 2017-2018-1 20155224 《信息安全系统设计基础》第七周学习总结
查看>>
web-view——微信小程序嵌入H5
查看>>
Makefile所有内嵌函数
查看>>
深入理解JVM之JVM内存区域与内存分配
查看>>
Python List
查看>>
《系统分析与设计方法》 练习计算投资回收分析
查看>>