Perguntas com a marcação «exception-handling»

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 em 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 manipulador.








5
Maneira ideal de definir o manipulador de exceções globais não capturadas no Android
Quero definir um manipulador global de exceção não capturada para todos os threads em meu aplicativo Android. Portanto, em minha Applicationsubclasse, defini uma implementação de Thread.UncaughtExceptionHandlercomo manipulador padrão para exceções não detectadas. Thread.setDefaultUncaughtExceptionHandler( new DefaultExceptionHandler(this)); Em minha implementação, estou tentando exibir uma AlertDialogmensagem de exceção apropriada exibindo. No entanto, isso …



5
Gerar exceção vs. retornar Nenhum nas funções?
Qual é a melhor prática em uma função definida pelo usuário em Python: raiseuma exceção ou return None? Por exemplo, tenho uma função que localiza o arquivo mais recente em uma pasta. def latestpdf(folder): # list the files and sort them try: latest = files[-1] except IndexError: # Folder is …

7
Os métodos que lançam RuntimeException devem indicá-lo na assinatura do método?
Por exemplo, muitos métodos em frameworks / JDK podem lançar java.lang.SecurityException mas isso não é indicado na assinatura do método (uma vez que essa é uma prática normalmente reservada para exceções verificadas). Quero argumentar que declarar RuntimeExceptions no método sigs tem muitos benefícios (semelhante à verificação de tipo estático, por …

8
Por que o C # permite que você 'lance nulo'?
Ao escrever algum código de tratamento de exceção particularmente complexo, alguém perguntou, você não precisa ter certeza de que seu objeto de exceção não é nulo? E eu disse claro que não, mas resolvi tentar. Aparentemente, você pode lançar null, mas ainda é uma exceção em algum lugar. Por que …

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.