大佬教程收集整理的这篇文章主要介绍了在Swift中的观察者方法中抛出错误,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
enum someClassError: ErrorType { case numberNotPositive } class someClass { var Positivenumber: Int { willSet(value) { guard value > 0 else { throw someClassError.numberNotPositive } } } }
当然,编译器抱怨Error没有被处理,因为封闭函数没有被声明’throws’,我真的不知道在哪里声明didSet实际抛出.
enum someClassError: ErrorType { case numberNotPositive } class someClass { var positivenumber: Int { willSet { do { try newValueIsPositive(newvalue) } catch someClassError.numberNotPositive { print("Error: number not positive") } catch { print("Error: UnkNown error") } } } init() { positivenumber = 1 } func newValueIsPositive(newValue: int) throws { guard newValue > 0 else { throw someClassError.numberNotPositive } } } /* Example */ var a = someClass() a.positivenumber = 2 a.positivenumber = -1 // Error: number not positive print(a.positivenumber) // -1
请注意,在使用willSet属性observer时,我使用了默认可访问的newValue属性(而不是显式定义将在willSet之后设置的值的属性名称值).另请注意,在当前表单中,类属性positivenumber仍会被赋值为-1(尽管会针对此抛出ErrorType大小写).
以上是大佬教程为你收集整理的在Swift中的观察者方法中抛出错误全部内容,希望文章能够帮你解决在Swift中的观察者方法中抛出错误所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。