Por que 'lances' não é do tipo seguro no Swift?
O maior mal-entendido para mim em Swift é othrows
palavra-chave Considere o seguinte pedaço de código:
func myUsefulFunction() throws
Não podemos realmente entender que tipo de erro isso irá gerar. A única coisa que sabemos é que isso pode gerar algum erro. A única maneira de entender qual pode ser o erro é consultando a documentação ou verificando o erro no tempo de execução.
Mas isso não é contra a natureza de Swift? Swift possui genéricos poderosos e um sistema de tipos para tornar o código expressivo, mas parece quethrows
é exatamente o oposto, porque você não pode obter nada sobre o erro olhando a assinatura da função.
Por que? Ou eu perdi algo importante e confundi o conceito?