में मेरे पास एक तृतीय पक्ष लाइब्रेरी क्लास है जिसका स्रोत मेरे लिए खुला नहीं है। उदाहरण के लिए:असीमित अपवाद मूल्य को संभालें स्विफ्ट
class MyClass: NSObject {
let myProperty = 10
}
मुझे इस तरह का मूल्य myProperty
मिल सकता है।
let test = MyClass().value(forKey: "myProperty") // 10
मैं जाँच करने के लिए है कि क्या myProperty
MyClass
में मौजूद है चाहता हूँ। कारण यह है कि मैं नहीं चाहता कि मेरा ऐप क्रैश हो जाए यदि भविष्य में तीसरे पक्ष के वर्ग कार्यान्वयन में परिवर्तन होता है।
परीक्षण के लिए मैं
guard let test = MyClass().value(forKey: "myProperty1") else { return } // crash
if let test = MyClass().value(forKey: "myProperty1") { } // crash
do {
let test = try MyClass().value(forKey: "myProperty1") // crash
} catch { }
की कोशिश की है कि हर तरह से मैं दुर्घटना पाने में। '[< __lldb_expr_80.MyClass 0x608000223a00> valueForUndefinedKey:]:। इस वर्ग है नहीं कुंजी मान कोडिंग अनुरूप कुंजी myProperty1 के लिए'
*** न आया हुआ अपवाद 'NSUnknownKeyException', कारण की वजह से एप्लिकेशन समाप्त
न लगता है कि इस को रोकने के लिए वैसे भी नहीं है, तो आपको अपने ऐप को अपडेट करें या लिब के देव से संपत्ति का उपयोग करने के अधिक सुविधाजनक तरीके से बदलने के लिए कहें – Tj3n
स्विफ्ट में आप रनटाइम पर अपवाद नहीं पकड़ सकते हैं। – vadian