Junior — Middle
Qual é a diferença entre as classes Error e Exception no contexto do tratamento de erros?
sobes.tech IA
Resposta da IA
No iOS (Swift), Error é um protocolo que os tipos que descrevem erros que podem ser lançados e tratados devem implementar. Exception como um tipo separado não existe em Swift, mas em outras linguagens (por exemplo, Objective-C), as exceções (NSException) são usadas para erros críticos que normalmente não são tratados através do mecanismo habitual de try-catch.
Em Swift, recomenda-se usar Error e o tratamento através de do-try-catch para erros controlados, e não exceções, que são destinadas a falhas imprevistas.
Exemplo de tratamento de erro em Swift:
enum FileError: Error {
case fileNotFound
case unreadable
}
func readFile() throws {
throw FileError.fileNotFound
}
do {
try readFile()
} catch FileError.fileNotFound {
print("Ficheiro não encontrado")
} catch {
print("Outro erro")
}