美文网首页Swift学习
Swift- extra argument error in c

Swift- extra argument error in c

作者: Andy_WangPeng | 来源:发表于2016-06-30 15:36 被阅读1608次

    小遍在Swift学习开发中,遇到了一个错误

        #   !extra argument error in call
    

    以前

    经过查阅资料才知道,我们以前用`var error : NSError?`的方式来标识一个错误。当这个方法发生错误时,它会对` error` 对象进行赋值,我们便能获取错误的具体信息:
    
     var e : NSError?
      xs!.connectWithTimeout(5000, error: &e)
    

    现在

    Swift 2.0 加强了错误处理的安全性,引入了异常机制,使用 了throws 关键字来表示一个方法可能抛出错误,解决方式用 try catch语法

    解决方式为:
          do {
                // 这行可以顺利执行
               try  xs!.connectWithTimeout(5000)
                // 执行不通会抛出一个错误
    
            } catch  let error as NSError{
                print("连接失败\(error.domain)")
            }
    
    ##注 ` NSError` 用 `let` 进行了类型转换,这其实主要是针对 Cocoa 现有的 API 的,是对历史的一种妥协。
    

    try catch语法的理解(知道的伙伴可自动忽略)

    首先要清楚,如果没有try的话,出现异常会导致程序崩溃。
    而try则可以保证程序的正常运行下去,比如说:
    try{
    int i = 1/0;
    }catch(Exception e){
    ........
    }
    #######一个计算的话,如果除数为0,则会报错,如果没有try的话,程序直接崩溃。用try的话,则可以让程序运行下去,并且输出为什么出错!

    相关文章

      网友评论

        本文标题:Swift- extra argument error in c

        本文链接:https://www.haomeiwen.com/subject/ctffjttx.html