为什么我的错误无法访问?

时间:2016-02-15 17:10:07

标签: swift error-handling

我创建了自己的解析方法,它将区分大小写和捕获组作为参数。我希望能够处理用户放入一个不存在的捕获组,只需一个简单的控制台打印通知我发生了什么。为什么不能达到这个捕获声明?

        do
        {
            regex.enumerateMatchesInString(self, options: NSMatchingOptions(rawValue: 0), range: all)
            {
                    (result: NSTextCheckingResult?, _, _) in let theResult = nsString.substringWithRange(result!.rangeAtIndex(captureGroup))
                    resultsArray.append(theResult)
            }
            return resultsArray
        }
            //Todo: Make this reachable
        catch
        {
            print("The chosen capture group does not exist.")
            return(["Error"])
        }

2 个答案:

答案 0 :(得分:0)

只有throw块中可以捕获do - catch的方法错误

enumerateMatchesInString:options:range:没有throw

Swift Language Guide: Error Handling

答案 1 :(得分:-1)