Java programação: quando ocorrem erros

Erros em aplicações Java pode ocorrer em vários momentos. No entanto, você pode amplamente classificar quando um erro ocorre em duas categorias, em tempo de compilação e tempo de execução, conforme descrito nas seções a seguir.

Compilar erros de tempo

O compilador converte o código do aplicativo em código Java byte. Durante este processo, que leva o código legível que você escreve e converte-lo em algo que o Java Runtime Environment (JRE) entende.

Para executar este processo, o compilador deve analisar o código, o que significa que lê o código de uma maneira que de forma inequívoca determina exatamente o que você deseja que o aplicativo para fazer, quando quiser fazê-lo, e como você deseja que a tarefa cumprida. Se você quebrar as regras para escrever código inequívoca, o compilador exibe uma mensagem de erro. Esta mensagem é realmente um tipo de exceção.

Análise significa para ler a entrada que você fornecer, tais como o código de forma legível, e transformá-lo em algo mais, como o código Java byte. Uma aplicação também pode analisar a entrada do utilizador. Por exemplo, um usuário pode digitar uma seqüência que o código do aplicativo se transforma em um número.

Assim, a análise é o ato de ler algum tipo de entrada, interpretando que a entrada de uma maneira específica, e, em seguida, produzir a saída com base na entrada interpretado. Um analisador gera um erro quando a entrada não é o que ele espera.

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

Tempo de compilação erros são os mais fáceis de manusear porque o compilador normalmente diz-lhe precisamente o que está errado e onde o erro ocorreu. Mesmo se a informação não é exato, o compilador irá, pelo menos, levá-lo para a área direita do código quebrado para que você pode olhar para o erro que ele contém.

Para garantir que todos entendam exatamente como a linguagem Java é suposto para trabalhar, os desenvolvedores a criar uma especificação para ele. Esta especificação inclui os elementos de linguagem em uma linguagem especial chamada Backus-Naur Form (BNF). Usando BNF é um método extremamente preciso de descrever uma linguagem de modo que não há qualquer risco de má interpretação por qualquer pessoa.

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

erros de execução

O compilador Java não é possível encontrar todos os erros em seu código. Se a forma do código está correto (ou seja, você ainda não fez quaisquer erros na digitação dos elementos que criam a aplicação), o compilador não vai encontrar o erro.

Por exemplo, se você inicializar um valor numérico a 5 em vez de 4, o compilador não pode encontrar o erro para você, porque o compilador não tem idéia do que você realmente significava para digitar 4. Esses tipos de erros criar erros de execução - esses erros que acontecem em algum momento durante a execução do aplicativo.

erros de execução pode ocorrer em todos os tipos de vezes. Alguns erros são mais prováveis ​​de ocorrer em horários específicos. A lista a seguir fornece algumas idéias sobre quando erros de execução são susceptíveis de ocorrer:

Video: 060 Java nivel basico Exceções tratamento de erros no Java



  • inicialização: Quando o aplicativo é iniciado em primeiro lugar - antes de apresentar qualquer tipo de interface para o usuário ou realiza qualquer trabalho útil - ele passa por uma fase de inicialização. Isto é, quando definir uma variável para o tipo incorreto ou tentar usar uma variável antes de inicializar ele vai ser notado. Muitos erros relacionados com os recursos também ocorrem durante a inicialização porque a maioria dos aplicativos abertos exigido recursos durante este tempo.

  • Modo operacional: Depois que um aplicativo é inicializado, ele está no modo de operação. Se ele tem 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 importa.

    Você também vai encontrar variáveis ​​inicializados incorretamente neste momento porque o usuário (ou o destinatário da saída de aplicativos, tais como o sistema) vai ver que a saída é incorreta. As solicitações de usuário para recursos, como um arquivo de dados, também criar erros durante este tempo.

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

    Video: Evite concatenar SQL - Dicas de Programação | TriadWorks

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

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

    Os erros mais comuns que podem ocorrer durante esta fase não estão liberando recursos que a sua aplicação tem usado e não salvar os dados no disco. Claro, erros de codificação pode ocorrer a qualquer momento, e esta fase da operação não é excepção. Você poderia dizer a aplicação para fechar cinco arquivos quando apenas quatro deles são realmente aberto.

O JRE apresentará a maioria dos erros de execução que detectar a você como exceções. No entanto, o JRE não vai pegar todos os erros na sua aplicação. Você também deve olhar para a saída do seu aplicativo para determinar se a saída coincide com as expectativas que tem para uma determinada entrada.

Além disso, é importante olhar para o estado de todos os recursos que você usa para garantir que eles não estão danificados de alguma forma. Por exemplo, você precisa garantir que todos os dados que você deve guardar em um arquivo realmente acaba no arquivo quando o aplicativo é desligado.

Java 8 tem uma forte ênfase na segurança, o que significa que você vai ver mais instâncias SecurityException como você trabalha com o seu pedido.

Vendo um aumento de exceções de segurança não significa que seu código está com defeito ou que o Java 8 está cheia de erros - isso significa que Java 8 localiza e informa sobre problemas que poderiam causar problemas de segurança, como as pessoas usam seu aplicativo automaticamente.

A documentação SecurityException aparece no Java.net. Claro, você vai querer saber o que todo o burburinho é sobre.


Publicações relacionadas