Swift中的异常处理

Swift中的异常处理_第1张图片
Swift.png
异常处理
  • 错误处理(Error handling)是响应错误以及从错误中恢复的过程
  • 在 Swift 中,错误用符合 Error 协议的类型的值来表示。这个空协议表明该类型可以用于错误处理。
  • 抛出错误使用throw关键字
  • 使用 do-catch 语句处理错 误、将错误作为可选类型处理、或者断言此错误根本不会发生。
  • 在调用一个能抛出错误的函数、方法或者构造器之前,加上 try 关键字 来处理异常
  • try是开发者 手动处理异常方式,结合 do- catch使用
do {

 try  JSONSerialization.jsonObject(with:jsonData as Data, options: .mutableContainer

}catch{
// catch 捕捉异常  系统会提供一个 临时的常量 error
print(error);

}
  • try ? (常用)系统帮助我们处理异常,如果这个方法出现异常,则这个方法返回nil,如果没有异常返回 对应的对象 (最终返回的是一个可选类型)
  • try! 直接告诉系统 这个方法没有异常,如果这个方法出现异常,程序直接crash
///异常

///枚举 Error 就是告诉编译器,这个枚举。可以充当具体的异常值
enum FileError:Error {
    
    case notExists
    case notFormat
    case notContent
    
    
}

//函数
func readFile(path:String) throws ->String {
    
    //1.判断文件路径是否存在
    
    let isExsits =  FileManager.default.fileExists(atPath: path);
    
    if !isExsits {
        //如果想要成为,异常值,必须要遵循一个协议Error
       //如果有错误 抛出异常 终止代码执行
        throw FileError.notExists;
    }
    
    //2.读取文件
    
    var content:String = "";
    do {
        content = try String(contentsOfFile: path);
    }catch {
       //捕捉到异常
        throw FileError.notFormat;
        
    }
    
    
    if content.lengthOfBytes(using: String.Encoding.utf8) == 0 {
        throw FileError.notContent;
    }
    
    
    return content;
}



你可能感兴趣的:(Swift中的异常处理)