Skip to content

[SR-10568] Errors thrown by JSONDecoder don't have meaningful messages shown to Xcode #3426

Open
@NSExceptional

Description

@NSExceptional
Previous ID SR-10568
Radar None
Original Reporter @NSExceptional
Type Improvement

Attachment: Download

Additional Detail from JIRA
Votes 0
Component/s Foundation, Standard Library
Labels Improvement, Codable
Assignee None
Priority Medium

md5: 5be1df8769f1d742c91f8fdc5a7e5aec

Issue Description:

What Xcode shows you:

The data couldn’t be read because it is missing.

What the actual underlying error, which is actually useful:

No value associated with key CodingKeys(stringValue: \"age\", intValue: nil) (\"age\").

To see this error in detail, you have to jump through some hoops and print it in the debugger, when the Xcode test suite should just show you the more descriptive error in the first place:

do {
    let t: T = decoder.decode(T.self, ...)
} catch {
    let _ = error // breakpoint here, po error
}

I assume this is as simple as making the `.failureReason` more descriptive. I couldn't find where `DecodingError` was defined in `apple/swift-corelibs-foundation` or I would have checked.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions