1
Como funcionam as exceções em Haskell?
Em GHCi: Prelude> error (error "") *** Exception: Prelude> (error . error) "" *** Exception: *** Exception: Por que o primeiro não é uma exceção aninhada?
Uma exceção é uma condição incomum que requer desvio do fluxo normal do programa. Normalmente, uma exceção não deve resultar em falha total, mas sim com um manipulador de exceções. O tratamento de exceções é uma construção interna em muitas linguagens de programação. Geralmente, as exceções são tratadas desenrolando a pilha, revertendo para um estado definido fora do escopo da exceção e, em seguida, invocando um bloco ou rotina de tratamento.