sindresorhus/exceptioncatcher
> Catch [Objective-C exceptions](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Exceptions/Tasks/HandlingExceptions.html) in Swift
Install
Add the following to Package.swift:
.package(url: "https://github.com/sindresorhus/ExceptionCatcher", from: "2.0.0")Usage
import Foundation
import ExceptionCatcher
final class Foo: NSObject {}
do {
let value = try ExceptionCatcher.catch {
return Foo().value(forKey: "nope")
}
print("Value:", value)
} catch {
print("Error:", error.localizedDescription)
//=> Error: [valueForUndefinedKey:]: this class is not key value coding-compliant for the key nope.
debugPrint(error)
/*
Error Domain=NSUnknownKeyException Code=0 "[valueForUndefinedKey:]: this class is not key value coding-compliant for the key nope." UserInfo={CallStackSymbols=(
0 CoreFoundation 0x00007fff361798ab __exceptionPreprocess + 250
1 libobjc.A.dylib 0x00007fff6c3ea805 objc_exception_throw + 48
2 CoreFoundation 0x00007fff361a230c -[NSException raise] + 9
3 Foundation 0x00007fff388f86c4 -[NSObject(NSKeyValueCoding) valueForUndefinedKey:] + 222
4 Foundation 0x00007fff3876f8fd -[NSObject(NSKeyValueCoding) valueForKey:] + 317
5 ExceptionCatcherTests 0x0000000103402ef6 $s21ExceptionCatcherTestsAAC9testCatchyyKFypSgyXEfU1_ + 118
…
*/
}Package Metadata
Repository: sindresorhus/exceptioncatcher
Default branch: main
README: readme.md