Perguntas com a marcação «exceptions»

Uma exceção é uma ocorrência em um processo de aplicativo que requer desvio do fluxo normal do programa.

101
Como escrever uma boa mensagem de exceção

Atualmente, estou fazendo uma revisão de código e uma das coisas que noto são o número de exceções em que a mensagem de exceção parece reiterar onde ocorreu a exceção. por exemplo throw new Exception("BulletListControl: CreateChildControls failed."); Todos os três itens desta mensagem eu posso...

88
Verificar primeiro vs tratamento de exceção?

Estou trabalhando no livro "Head First Python" (é minha língua para aprender este ano) e cheguei a uma seção em que eles discutem sobre duas técnicas de código: Verificando o tratamento First vs Exception. Aqui está uma amostra do código Python: # Checking First for eachLine in...

80
Exceções, códigos de erro e uniões discriminadas

Recentemente, iniciei um trabalho de programação em C #, mas tenho bastante experiência em Haskell. Mas eu entendo que C # é uma linguagem orientada a objetos, não quero forçar um pino redondo em um buraco quadrado. Eu li o artigo Lançamento de exceção da Microsoft, que afirma: NÃO retorne...

76
Por que o estouro aritmético é ignorado?

Já tentou resumir todos os números de 1 a 2.000.000 na sua linguagem de programação favorita? O resultado é fácil de calcular manualmente: 2.000.001.000.000, que são 900 vezes maiores que o valor máximo de um número inteiro de 32 bits não assinado. C # imprime -1453759936- um valor negativo! E eu...

57
Por que não existe uma construção 'finalmente' em C ++?

O tratamento de exceções em C ++ é limitado a tentativa / lançamento / captura. Diferentemente do Object Pascal, Java, C # e Python, mesmo no C ++ 11, a finallyconstrução não foi implementada. Tenho visto muita literatura C ++ discutindo "código de exceção seguro". Lippman escreve que o código...

57
Capturar exceções gerais é realmente uma coisa ruim?

Normalmente, concordo com a maioria dos avisos de análise de código e tento segui-los. No entanto, estou tendo mais dificuldade com este: CA1031: Não captura tipos de exceção gerais Eu entendo a lógica dessa regra. Mas, na prática, se eu quero executar a mesma ação, independentemente da...

52
Lançar exceção ou deixar o código falhar

Gostaria de saber se existem prós e contras contra esse estilo: private void LoadMaterial(string name) { if (_Materials.ContainsKey(name)) { throw new ArgumentException("The material named " + name + " has already been loaded."); } _Materials.Add( name,