美文网首页swift
swift——异常处理

swift——异常处理

作者: 阿凡提说AI | 来源:发表于2018-02-11 23:13 被阅读58次

FileManager.swift

import UIKit

enum FileReadError : Error {
    case fileNameNotNull
    case filePathNotFind
    case fileDataError
}

class FileManager: NSObject {
    func readFileContent(_ fileName : String) throws -> String? {
        // 1.判断文件名字是否为""
        if fileName == "" {
            // 抛出异常,当抛出异常时,后续方法不再执行
            throw FileReadError.fileNameNotNull
        }
        
        // 2.获取文件的路径
        guard let filePath = Bundle.main.path(forResource: fileName, ofType: nil) else {
            // 抛出异常
            throw FileReadError.filePathNotFind
        }
        
        // 3.读取文件中的内容
        guard let data = try? Data(contentsOf: URL(fileURLWithPath: filePath)) else {
            // 抛出异常
            throw FileReadError.fileDataError
        }
        
        // 4.读取到信息
        return String(data: data, encoding: String.Encoding.utf8)
    }
}

ViewController.swift

import UIKit

class ViewController: UIViewController {
    
    var manager = FileManager()
    
    override func viewDidLoad() {
        super.viewDidLoad()
    }
    
    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        
        
        do {
            let str = try manager.readFileContent("123.txt")
            print(str)
        } catch {
            let errorType = error as! FileReadError
            switch errorType {
                case FileReadError.fileNameNotNull:
                    print("123")
                case FileReadError.filePathNotFind:
                    print("321")
                case FileReadError.fileDataError:
                    print("122")
            }
        }
        
    }
}

相关文章

  • swift异常处理

    swift像其他编程语言一样可以抛出异常并处理异常,本文就详细说一下在swift中抛出并处理异常,swift中的一...

  • Swift-异常处理四种方式

    跟其它语言一样,Swift的异常处理是在程序抛出异常后的处理逻辑。 Swift提供了一流的异常抛出、捕获和处理的能...

  • SQLite.swift的使用

    知识储备:swift中异常处理 SQLite.swift这个库中有很多的异常处理,详细了解请点击下面的地址: Sw...

  • Swift - 异常处理

    说明 跟其它语言一样,Swift的异常处理是在程序抛出异常后的处理逻辑。 Swift提供了一流的异常抛出、捕获和处...

  • Swift备忘

    Swift初体验 Swift Tips Swift三种不同的【异常处理方式】 Swift 3.0 private变...

  • Swift 处理异常

    处理方式 定义异常类型 在 Swift 中,错误用符合Error协议的类型的值来表示。这个空协议表明该类型可以用于...

  • swift——异常处理

    FileManager.swift ViewController.swift

  • swift 异常处理

    序言 对异常的正确处理能够明确反映在代码执行中出现的问题,使得在接下来的debug快速定位问题所在的地方,提高de...

  • Swift 异常处理

    异常的由来 在写代码的过程中,我们不能保证自己的每一行代码,都能够正确地执行。不能保证每一个函数,都会返回我们所期...

  • Swift - 异常处理

    Swift提供了一流的异常抛出、捕获和处理 能力,跟JAVA语言类似。Swift的异常并不是真正的程序崩溃, 而是...

网友评论

    本文标题:swift——异常处理

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