복붙노트

[SWIFT] 스위프트에 JSONDecoder를을 사용하여 처리 오류

SWIFT

스위프트에 JSONDecoder를을 사용하여 처리 오류

해결법


  1. 1.디코딩 catch 블록에 error.localizedDescription을 인쇄하지 마십시오. 이것은 매우 의미가 일반 오류 메시지를 반환합니다. 항상 오류 인스턴스를 인쇄합니다. 그런 다음 원하는 정보를 얻을 수 있습니다.

    디코딩 catch 블록에 error.localizedDescription을 인쇄하지 마십시오. 이것은 매우 의미가 일반 오류 메시지를 반환합니다. 항상 오류 인스턴스를 인쇄합니다. 그런 다음 원하는 정보를 얻을 수 있습니다.

    let decoder = JSONDecoder()
        if let data = data {
            do {
                // process data
    
            } catch  {
               print(error)
        }
    

    또는 오류 사용의 전체 집합에 대 한

    let decoder = JSONDecoder()
    if let data = data {
        do {
           // process data
        } catch let DecodingError.dataCorrupted(context) {
            print(context)
        } catch let DecodingError.keyNotFound(key, context) {
            print("Key '\(key)' not found:", context.debugDescription)
            print("codingPath:", context.codingPath)
        } catch let DecodingError.valueNotFound(value, context) {
            print("Value '\(value)' not found:", context.debugDescription)
            print("codingPath:", context.codingPath)
        } catch let DecodingError.typeMismatch(type, context)  {
            print("Type '\(type)' mismatch:", context.debugDescription)
            print("codingPath:", context.codingPath)
        } catch {
            print("error: ", error)
        }
    
  2. from https://stackoverflow.com/questions/55389926/error-handling-using-jsondecoder-in-swift by cc-by-sa and MIT license