Mobile Development
Swift
Subjective
Oct 04, 2025
Explain error handling in Swift.
Detailed Explanation
Swift provides robust error handling using throwing functions and do-catch statements.\n\n• **Error Protocol:**\n\nenum NetworkError: Error {\n case invalidURL\n case noData\n case decodingFailed\n}\n\n\n• **Throwing Functions:**\n\nfunc fetchData(from url: String) throws -> Data {\n let validURL = URL(string: url) else {\n throw NetworkError.invalidURL\n }\n \n // Simulate network call\n let data = simulateNetworkCall(validURL) else {\n throw NetworkError.noData\n }\n \n return data\n}\n\n\n• **Error Handling:**\n\ndo {\n let data = try fetchData(from: "https://api.example.com")\n print("Success: \(data)")\n} catch NetworkError.invalidURL {\n print("Invalid URL provided")\n} catch NetworkError.noData {\n print("No data received")\n} catch {\n print("Unknown error: \(error)")\n}\n\n\n• **Optional Try:**\n\nlet data = try? fetchData(from: url) // Returns nil on error\nlet data = try! fetchData(from: url) // Crashes on error\n
Discussion (0)
No comments yet. Be the first to share your thoughts!
Share Your Thoughts