在Swift里,抛出的异常必须继承Error这个协议.那么这个协议是什么呢? 按住command再点击Error我们可以看到, public protocol Error { } extension Error { } 显然这个协议是空的,之所以还会有个空扩展,就是官方为了强调这个协议的确是空的, 只是为了标记错误的. 然后下面是我自己的例子,非常简单 enum numTest: Int, Error { case _0, _1, _2, _3 case nothing = 999 } fun…