zoukankan      html  css  js  c++  java
  • Swift—Cocoa错误处理模式-备

    Swift错误处理模式,在Swift1.x和Swift 2.0是不同的两种模式。

    Swift 1.x代码错误处理模式采用Cocoa框架错误处理模式,到现在Objective-C还沿用这种处理模式,而Swift2.0之后采用了do-try-catch错误处理模式。

    下面的示例代码是从文件中读取字符串到内存中,如果使用Swift 1.x错误处理模式代码如下:

     

     
    1. import Foundation  
    2.   
    3.    
    4.   
    5. var err: NSError?        //定义可选的NSError?变量  
    6.   
    7.    
    8.   
    9. let contents = NSString(contentsOfFile: filePath,   
    10.   
    11.             Ê encoding: NSUTF8StringEncoding, error: &err)  
    12.   
    13.    
    14.   
    15. if err != nil {      //判断err变量是否还是nil  
    16.   
    17.     // 错误处理  
    18.   
    19. }  

    NSError?一定是可选的变量,因为要给它初始化为nil。

    判断err变量是否还是nil,如果还是nil在代码

     

     
    1. let contents = NSString(contentsOfFile: filePath,   
    2.   
    3.                     Ê encoding: NSUTF8StringEncoding, error: &err)  

    方法调用过程中没有发生错误,否则说明有错误发生。

    上述代码的构造函数,它的Swift语法定义如下:

     

     
    1. init?(contentsOfURL url: NSURL,  
    2.   
    3.          encoding enc: UInt,  
    4.   
    5.             error error: NSErrorPointer)  

    构造函数的最后一个参数是NSErrorPointer(即NSError指针),那么在实际调用时候我们需要传递err变量地址(即&err),&是取地址符。当方法调用完成后,如果有错误则err变量会被赋值。

  • 相关阅读:
    Add Binary
    Unique Paths II
    APIcloud  SuperWebView
    微信小程序----checkbox组件
    PHP 使用redis  实现队列
    让PHP程序永远在后台运行
    微信小程序----switch组件(开关选择器)
    微信小程序----slider组件
    微信小程序----progress组件
    linux新的数据盘  分区,格式化后  挂载到目录
  • 原文地址:https://www.cnblogs.com/isItOk/p/5454237.html
Copyright © 2011-2022 走看看