Swift_错误处理


点击查看源码

//错误处理
func test() {//错误枚举 需ErrorType协议enum ErrorEnum: Error {case `default` //普通错误case other(tag: Int) //高级错误 可携带数据}class SomeClass {func canThrowErrors(_ str: String) throws {//当str不为Default时 输出错误guard str == "Default" else {throw ErrorEnum.default}//当str不为Other时输出错误guard str == "Other" else {throw ErrorEnum.other(tag: 5)}}}let sClass = SomeClass()//try! sClass.canThrowErrors("Default") // 强制调用 错误时程序闪退。do {try sClass.canThrowErrors("Default")try sClass.canThrowErrors("Other")} catch ErrorEnum.default {print("默认错误")} catch ErrorEnum.other(let tag) where tag == 5 {print("错误代码:\(tag)")} catch ErrorEnum.other(let tag) {print("其他错误:\(tag)")} catch {// 在捕获中 隐式携带error错误。print("未知错误:\(error)")}/*  print错误代码:5*/
}

转载于:https://www.cnblogs.com/xubaoaichiyu/p/6508341.html

Swift_错误处理相关推荐

  1. Gradle错误提示:Java home supplied via ‘xxx.xxx.xxx‘ is invalid

    Gradle错误提示:Java home supplied via 'org.gradle.java.home' is invalid 描述:在使用idea采用gradle进行依赖的管理功能,当想切换 ...

  2. Myeclipse中项目没有代码错误提示,jsp页面无编译迹象?如何解决

    在使用Myeclipse开发项目时,发现jsp页面中嵌入的java代码没有编译的迹象,错误的get方法没有报错,没有报错信息我们如何知道我们开发的内容是正确的呢? 接下来就演示一下如何解决

  3. Go语言的错误异常处理机制及其应用

    一.背景 在日常编写golang程序或阅读别人的golang代码时,我们总会看到如下的一堆代码块: xx, err = func(xx) if err != nil {//do sth. to tac ...

  4. java通过异常处理错误,java基础之通过错误处理异常

    我们在编程过程中,通常需要时刻关注可能遇到的问题,此时可以把问题分为两类:普通问题与异常问题.普通问题:我们可以通过从当前环境中获取到的信息来解决这个问题:而异常问题:在当前环境中获取到的信息并不能解 ...

  5. php错误提示如何查询,php-如何显示我的MySQLi查询错误?

    这个问题已经在这里有了答案: mysqli_fetch_assoc()期望参数/调用成员函数bind_param()错误. 如何获取并修复实际的mysql错误? 1个答案 mysqli还是死了,它必须 ...

  6. linux mysql 主从 1130_Linux Mysql 1130错误解决

    Linux Mysql 1130错误解决 今天在win32下通过navicat 远程登录Mysql时出现如下错误: 想都不用想,肯定是Mysql的访问权限问题. 首先,通过终端(我用的是SSH)远程登 ...

  7. 错误提示没了_ESC错误排查-系统启动篇

    # ECS从入门到精通(错误排查) # Linux启动与登录问题 Linux 启动与登录问题是 ECS 的高频问题,而往往处理不及时会直接影响到 用户业务的正常可持续运行,因此也变成了我们处理问题优先 ...

  8. Redis 笔记(11)— 文本协议 RESP(单行、多行字符串、整数、错误、数组、空值、空串格式、telnet 登录 redis)

    RESP 是 Redis 序列化协议Redis Serialization Protocol 的简写.它是一种直观的文本协议,优势在于实现异常简单,解析性能极好. ​ Redis 协议将传输的结构数据 ...

  9. Redis 笔记(08)— 事务(一次执行多条命令、命令 watch/multi/exec/discard、错误处理)

    1. 事务概念 Redis 中的事务 (transaction)是一组命令的集合.事务同命令一样是 Redis 的最小执行单位,一个事务中的命令要么都执行,要么都不执行.事务的原理是先将属于一个事务的 ...

最新文章

  1. 批处理 探测在线计算机,批处理(bat)用来监测Windows网络状态脚本
  2. python开发信息系统权限设置_[Python学习] Django 权限控制
  3. C语言操作符(又称运算符)(1)
  4. 【Luogu3383】【模板】线性筛素数
  5. 数据科学 IPython 笔记本 7.8 分层索引
  6. mugen linux主程序,mugen主程序win版下载
  7. 程序闪退崩溃的几种原因
  8. CDR有哪些常用的快捷键
  9. 【Java学习笔记】斗地主规则抽牌模拟(利用LinkedList集合及Collections集合工具类实现)
  10. DL3 - optimization algorithms
  11. 回归方法(一):用线性回归探究生育率
  12. 有哪些生物多样性保护项目?
  13. 为什么蓝牙电子产品要做BQB认证
  14. 我的世界Linux服务端op,服务器,后台,单机,op必备指令大全
  15. 利用 telnet 命令测试 SMTP 服务(QQ邮箱发邮件)
  16. e3 v3服务器芯片组,最保值的E3-1230 v3遇上锐龙5:结果惊讶!
  17. 滴滴夜莺02-自定义推送数据
  18. 在打印服务器中新增纸张规格后,在打印机首选项中的自定义纸张中看不到的原因
  19. CSDN访客统计(不用量子恒道)
  20. 让windows 2008 也netmeeting

热门文章

  1. 关于AVR单片机熔丝位的设置和拯救方法大全 AVR单片机熔丝位的设置和详细的拯救方法...
  2. css选择器权重排序_CSS选择器的权重与优先规则
  3. python解析json_python解析json文件
  4. python中的1怎么用的_python中的[:-1]和[::-1]的具体使用
  5. fileoutputstream 转 byte数组_Java:如何实现文件与数组的相互转换?
  6. php7 windows2008,【笔记】Windows Server2008 R2 安装 PHP7 缺少 API-ms-win-crt-runtime-l1-1-0.dll 解决方案...
  7. centos代码切换图形_沙迪克慢走丝代码大全,G代码、T代码、M代码(值得收藏)...
  8. python dicom图像分割_处理医疗影像的Python利器:PyDicom
  9. 山西晋城学籍“失踪”解决方案:可参加高考或转职高
  10. Eclipse详细设置护眼背景色和字体颜色并导出