Swift 中 throws 异常抛出
一.异常抛出关键 throws 定义在函数结尾 如果函数有返回值 定义在 返回类型前如 : func throwDeliver(num:Int) throws ->String 二.定义方法 //错误传递 } 三、使用 1. 禁止异常传递,只有当你确定这个语句不会抛出异常你才可以这么做否则会引发运行时错误 print(try? throwDeliver(num: 1)+":禁止错误传递") 错误传递 成功 未传递错误 Optional("无错误:禁止错误传递") print(try? throwDeliver(num: 5)+":禁止错误传递") 错误传递 nil 在执行到 print("错误传递") try numberTest(num: num) 抛出异常 后续代码不在走下去 2.将异常转换成可选值,如果一个语句会抛出异常那么它将返回nil无论这个语句本来的返回值是什么: if let retureMessage = try? throwDeliver(num: 1) { } 错误传递 成功 未传递错误 可选值非空:无错误if let retureMessage = try? throwDeliver(num: 5) { print("可选值非空:"+retureMessage) } 错误传递 3.使用do-catch捕获处理异常,在do闭包里面执行会抛出异常的代码,在catch 分支里面匹配异常处理异常 do { do-catch 错误捕获 错误传递 成功 未传递错误 未捕获错误do { print("do-catch 错误捕获") try throwDeliver(num: 5) print("未捕获错误") } catch OperationError.ErrorOne { print("ErrorOne:") } catch OperationError.ErrorTwo { print("ErrorTwo:") } catch OperationError.ErrorThree(let discription) { print("ErrorThree:"+discription) }catch let discription{ print(discription) } do-catch 错误捕获 错误传递 ErrorOther 也可以在 catch 后不加 条件选择 直接输出 系统抛出的错误信息 do { } 错误传递 ErrorOther (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |