Lar Finanças Pessoais Programação Java: quando os erros ocorrem - os erros

Programação Java: quando os erros ocorrem - os erros

Índice:

Vídeo: Tratamento de erros e exceções no JAVA 2024

Vídeo: Tratamento de erros e exceções no JAVA 2024
Anonim

Os erros em aplicativos Java podem ocorrer em vários momentos. No entanto, você pode classificar em geral quando um erro ocorrerá em duas categorias, no tempo de compilação e no tempo de execução, conforme descrito nas seções a seguir.

Erros de tempo de compilação

O compilador converte seu código de aplicativo em código de byte Java. Durante esse processo, é preciso o código legível para humanos que você escreve e o converte em algo que o Java Runtime Environment (JRE) entende.

Para executar este processo, o compilador deve analisar o código, o que significa que ele lê o código de forma que inequivocamente determina precisamente o que deseja que o aplicativo faça, quando você quer fazê-lo, e como você deseja que a tarefa seja realizada. Se você infringir as regras para escrever código sem ambiguidade, o compilador exibirá uma mensagem de erro. Esta mensagem é realmente um tipo de exceção.

Analisar significa ler a entrada que você fornece, como código em formato legível por humanos, e transformá-lo em outra coisa, como código de byte Java. Um aplicativo também pode analisar a entrada do usuário. Por exemplo, um usuário pode digitar uma string que o código do seu aplicativo se converte em um número.

Então, analisar é o ato de ler algum tipo de entrada, interpretando essa entrada de uma maneira específica, e depois produzindo saída com base na entrada interpretada. Um analisador gera um erro quando a entrada não é o que espera.

Por exemplo, se o usuário insere uma seqüência de caracteres contendo a letra C e você espera que uma seqüência de caracteres contendo um número, como 123, o analisador irá gerar uma exceção dizendo que a entrada está incorreta.

Os erros de tempo de compilação são os mais fáceis de manusear porque o compilador normalmente lhe diz exatamente o que está errado e onde o erro ocorreu. Mesmo que a informação não seja exata, o compilador irá, pelo menos, levá-lo para a área certa do código quebrado, para que você possa procurar o erro que ele contém.

Para garantir que todos entendam com precisão como a linguagem Java deve funcionar, os desenvolvedores criam uma especificação para isso. Esta especificação inclui os elementos do idioma em um idioma especial denominado Backus-Naur Form (BNF). O uso do BNF é um método extremamente preciso de descrever um idioma para que não haja nenhum risco de má interpretação por parte de qualquer pessoa.

Você pode ver uma amostra do BNF para a linguagem Java no Departamento de Ciência da Computação - Daimi. Não se preocupe muito com a possibilidade de ler esta especificação. A maioria dos desenvolvedores nunca aprendeu a interpretar o BNF para os idiomas que eles usam - esse é o domínio dos desenvolvedores de compiladores.

Erros de tempo de execução

O compilador Java não consegue encontrar todos os erros no seu código. Se a forma do código estiver correta (ou seja, você não cometeu nenhum erro ao digitar os elementos que criam o aplicativo), o compilador não encontrará o erro.

Por exemplo, se você inicializar um valor numérico para 5 em vez de 4, o compilador não pode encontrar o erro para você, porque o compilador não faz ideia de que você realmente quisesse digitar 4. Esses tipos de erros criam erros de tempo de execução - os erros que ocorrem em algum momento durante a execução do aplicativo.

Os erros de tempo de execução podem ocorrer em todos os tipos de vezes. Alguns erros são mais prováveis ​​de ocorrer em momentos específicos. A seguinte lista fornece algumas idéias sobre quando os erros de tempo de execução provavelmente ocorrerão:

  • Inicialização: Quando o aplicativo primeiro começa - antes de apresentar qualquer tipo de interface para o usuário ou realizar qualquer trabalho útil - ele passa uma fase de inicialização. Isto é, ao definir uma variável para o tipo incorreto ou tentar usar uma variável antes de inicializar, será notado. Muitos erros relacionados a recursos também ocorrem durante a inicialização porque a maioria dos aplicativos abre recursos necessários durante esse período.

  • Modo de operação: Depois que um aplicativo é inicializado, ele está no modo de operação. Se tiver uma interface de usuário, ele começa a interagir com o usuário. Este é o momento em que a entrada do usuário é mais importante.

    Você também encontrará variáveis ​​inicializadas incorretamente neste momento porque o usuário (ou o destinatário da saída do aplicativo, como o sistema), verificará que a saída está incorreta. Os pedidos de recursos do usuário, como um arquivo de dados, também criam erros durante esse período.

  • Processamento de plano de fundo: A maioria dos erros de processamento em segundo plano resulta do ambiente (como a perda de uma conexão de rede), recursos em falta (como um arquivo perdido), variáveis ​​inicializadas incorretamente ou erros na forma como você contou o aplicativo para executar uma tarefa. Algumas tarefas são mais comumente realizadas em segundo plano do que outras são.

    Por exemplo, a impressão de um documento ou o download de recursos da Internet são comumente executados em segundo plano, enquanto o usuário continua a trabalhar com o aplicativo em primeiro plano.

  • Desligamento: Quando o usuário (incluindo as contas do sistema) informa o aplicativo, ele não é mais necessário, o aplicativo passa por uma fase de desligamento. Durante esta fase de desligamento, o aplicativo fecha arquivos e executa outras tarefas domésticas que garantem que a aplicação não deixa uma bagunça para o sistema operacional.

    Os erros mais comuns que podem ocorrer durante esta fase não estão liberando recursos que seu aplicativo usou e não salvando dados no disco. Claro, erros de codificação podem ocorrer a qualquer momento, e esta fase de operação não é exceção. Você poderia dizer ao aplicativo para fechar cinco arquivos quando apenas quatro deles estão realmente abertos.

O JRE apresentará a maioria dos erros de tempo de execução que ele detecta como exceções. No entanto, o JRE não irá capturar todos os erros no seu aplicativo.Você também deve olhar para a saída do seu aplicativo para determinar se o resultado corresponde às expectativas que você tem para uma determinada entrada.

Além disso, é importante analisar o estado dos recursos que você usa para garantir que eles não estejam danificados de alguma forma. Por exemplo, você precisa garantir que todos os dados que você deve salvar em um arquivo realmente acabam no arquivo quando seu aplicativo é encerrado.

O Java 8 tem uma ênfase maior na segurança, o que significa que você verá mais instâncias do SecurityException enquanto trabalha com seu aplicativo.

Ver um aumento nas exceções de segurança não significa que o seu código esteja com defeito ou que o Java 8 seja preenchido com erros - significa que o Java 8 localiza automaticamente e informa sobre problemas que podem causar problemas de segurança à medida que as pessoas usam seu aplicativo.

A documentação do SecurityException aparece em Java. líquido. Claro, você quer saber o que é todo o burburinho.

Programação Java: quando os erros ocorrem - os erros

Escolha dos editores

Acalma suas emoções ao praticar Mindfulness - dummies

Acalma suas emoções ao praticar Mindfulness - dummies

Aqui, você descobre a maneira consciente de gerenciar as emoções - as etapas para tome quando estiver sentindo baixo, excessivamente irritado ou desconfortavelmente ansioso. As emoções positivas podem ser um sentimento maravilhoso. A alegria, a alegria, a emoção e a felicidade são perfeitas. Mas como você pode lidar com as chamadas emoções negativas? Use a atenção para a saúde emocional A atenção plena está se tornando ...

Como começar o seu dia de trabalho com meditação Mindfulness - dummies

Como começar o seu dia de trabalho com meditação Mindfulness - dummies

Você pode encontrar a meditação mindfulness é uma ótima maneira de Comece o seu dia de trabalho. Quando chegar ao trabalho pela manhã, talvez já esteja estressado. Depois de uma agitada hora ou duas preparando as crianças para a escola ou regatear com seu parceiro ou lidar com alguma emergência em casa, seguido de ...

Os melhores sites Mindfulness - dummies

Os melhores sites Mindfulness - dummies

, Independentemente de você morar no Reino Unido ou em outro lugar, se você procurar "mindfulness" 'on-line, você literalmente obterá milhões de resultados. Como você pode dizer o trigo da palha? Aqui estão alguns sites que você achará útil. Atento. Este recurso maravilhoso tem muitos conteúdos de alta qualidade de professores excelentes de atenção plena. O ...

Escolha dos editores

HDR Solução de problemas: Nada está funcionando - manequins

HDR Solução de problemas: Nada está funcionando - manequins

Quando você se depara com uma situação com suas fotografias de alcance dinâmico elevado e parece que nada que você está fazendo está funcionando - as configurações não parecem boas, a imagem parece errada, os efeitos são ruins - relaxe e faça uma pausa. A imagem está lhe dizendo algo. Que algo às vezes é relacionado a forçar ...

HDR Resolução de problemas: falta de imaginação - dummies

HDR Resolução de problemas: falta de imaginação - dummies

A imaginação é uma coisa poderosa ao preparar imagens HDR, fato que é tornou-se mais óbvio quando você vê o resultado de não usá-lo versus usá-lo. A imagem superior desta figura é uma imagem HDR de um diner local durante a "hora dourada" - naquele horário atrasado (ou manhã) quando ...

HDR Solução de problemas: Sharpening - dummies

HDR Solução de problemas: Sharpening - dummies

Se você ficar apanhado na perfeição, você está preparado para aumentar seu HDR imagens. Os fotógrafos às vezes estão obcecados com a nitidez em suas fotos. Eles querem que tudo seja pixelly perfeitamente afiado do nariz da câmera até o infinito, independentemente da lente, abertura, ISO ou velocidade do obturador que eles usem. Esta figura mostra os resultados ...

Escolha dos editores

Cisco Rede: Mostrar comando de versão em um Switch - dummies

Cisco Rede: Mostrar comando de versão em um Switch - dummies

Em qualquer componente de rede da Cisco, o show O comando de versão é aplicável a qualquer hardware usando o Sistema Operacional Cisco IET (Internetwork Operating System), incluindo switches. O comando show version mostra informações ligeiramente diferentes, de acordo com o tipo de dispositivo em que você usa. Veja a saída do comando show version em um switch e ...

Cisco Rede: Modo de operação EXEC privilegiado - manequins

Cisco Rede: Modo de operação EXEC privilegiado - manequins

Você precisa usar o modo EXEC privilegiado se quiser realmente tem acesso de atualização a um sistema de rede Cisco,. Para entrar neste modo no modo EXEC do usuário, emita o comando enable, que solicita uma senha, se configurado. Como o nome do modo sugere, este modo tem privilégios extras para permitir ...

Cisco Rede: Configuração de Senha de Shell Seguro (SSH) - manequins

Cisco Rede: Configuração de Senha de Shell Seguro (SSH) - manequins

Shell seguro (SSH) é um protocolo de rede para seus dispositivos Cisco, que é mais seguro do que o Telenet. Definir uma senha segura é um requisito de configuração para este protocolo. Para configurar o acesso a um switch Cisco para SSH, você precisará ter uma conta de usuário criada em sua opção. O exemplo supõe que você tenha ...