SlideShare ist ein Scribd-Unternehmen logo
1 von 10
Downloaden Sie, um offline zu lesen
Resolução de problemas de
Compilação e Runtime
Mario Jorge Pereira
mariojp@gmail.com
Quando Ocorrem?
Durante o desenvolvimento, erros podem ocorrer em
dois momentos:
Na compilação
Esses ocorrem quando se executa o javac e são mais simples
de corrigir
Erros que estão geralmente ligados a sintaxe
Uma boa IDE já aponta o erro e muitas vezes ate mesmo a
solução
Na execução ( runtime )
Esses erros ocorrem quando se executa o java e não são tão
simples de corrigir
Compilando o .java
Nesse momento podem ocorrer 2 tipos de erro:
Erros de processamento do arquivo (parsing)
Os motivos são ponto-e-vírgula faltando, parênteses, aspas,
chaves ou colchetes descasados.
IO compilador identifica apenas o arquivo e a linha onde o erro
pode ter iniciado.
Um erro pode causar vários outros e nem sempre a mensagem
é precisa.
Erros de compilação do código
Realizada depois do parsing.
Além da linha e do arquivo, identificam a classe e método.
Geralmente as mensagens são bem claras.
Erros mais comuns na hora de Compilar
javac : Command not found
A variável PATH não esta corretamente configurada.
Inserir a pasta bin do JDK (onde esta o javac) no PATH.
Cannot resolve symbol
O compilador não encontrou a definição de um determinado
simbolo.
Geralmente são erros de sintaxe ou a definição de classe
não encontrada no CLASSPATH
Class Classe is public, should be declared
in a file named Classe.java
Se o arquivo .java tiver uma classe publica, o nome da
classe e o nome do arquivo devem ser rigorosamente o
mesmo. O mesmo erro aparece caso exista mais de uma
classe publica no arquivo.
Erros mais comuns na hora de Compilar
Erros mais comuns na hora de Compilar
Erros de Runtime
Passando com sucesso a fase de compilação são
gerados os arquivos .class (bytecodes).
Ao ocorrer um erro no momento da execução geralmente
é impresso um "stack trace".
Nem sempre mostra a linha de código onde o erro começou
O início do trace geralmente contém informações mais úteis
Erros de runtime podem ocorrer tambem por causas
externas:
não existência de arquivos externos, falta de memória e
falha em comunicação de rede
Erros mais comuns na hora de Executar
java.lang.NoClassDefFoundError :
NomeClasse
A classe que estamos tentando executar não foi encontrada.
Verifique o nome da classe e a localização
java.lang.NoSuchMethodError: main
A classe que estamos executando não possuí o metodo:
public static void main(String[] args){ ... }
Verifique se a classe tem o metodo e se sua sintaxe esta
correta.
java.lang.ArrayIndexOutOfBoundsException
Tentativa de acessar vetor além do limite definido.
Verifique a logica da aplicação.
Erros mais comuns na hora de Executar
java.lang.NullPointerException
referência para objeto é nula
Variável de tipo objeto ou Vetor foi declarado mas não
inicializado
Verifique a logica da aplicação.
java.lang.NoSuchMethodError: main
A classe que estamos executando não possuí o metodo:
public static void main(String[] args){ ... }
Verifique se a classe tem o metodo e se sua sintaxe esta
correta.
java.lang.ArrayIndexOutOfBoundsException
Tentativa de acessar vetor além do limite definido.
Verifique a logica da aplicação.
Dicas
Devemos criar aplicações que prevejam a possibilidade
de erros devido a fatores externos e ajam da melhor
forma possível
Devemos evitar que erros de lógica sobrevivam além da
fase de desenvolvimento. Para evitá-los:
Escreva código claro, fácil de entender, organizado,
pequeno
Use endentação, siga convenções, nomes significativos,
documente
Escreva testes para todo código e rode-os com freqüência
Para achar os erros difíceis
Rode código de testes se os tiver; Ative nível de
mensagens de log
Aprenda a usar um depurador para navegar no fluxo de
execução

Weitere ähnliche Inhalte

Was ist angesagt?

презентация
презентацияпрезентация
презентация
violet666
 

Was ist angesagt? (11)

[162] jpa와 모던 자바 데이터 저장 기술
[162] jpa와 모던 자바 데이터 저장 기술[162] jpa와 모던 자바 데이터 저장 기술
[162] jpa와 모던 자바 데이터 저장 기술
 
02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC 02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC
 
Evolution Of Java
Evolution Of JavaEvolution Of Java
Evolution Of Java
 
презентация
презентацияпрезентация
презентация
 
Conférence sur les annotations Java par Olivier Croisier (Zenika) au Paris JUG
Conférence sur les annotations Java par Olivier Croisier (Zenika) au Paris JUGConférence sur les annotations Java par Olivier Croisier (Zenika) au Paris JUG
Conférence sur les annotations Java par Olivier Croisier (Zenika) au Paris JUG
 
La persistance des données : ORM et hibernate
La persistance des données : ORM et hibernateLa persistance des données : ORM et hibernate
La persistance des données : ORM et hibernate
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And Beyond
 
Introduction à Hadoop
Introduction à HadoopIntroduction à Hadoop
Introduction à Hadoop
 
Laravel tutorial
Laravel tutorialLaravel tutorial
Laravel tutorial
 
Getting started with agile database migrations for java flywaydb
Getting started with agile database migrations for java flywaydbGetting started with agile database migrations for java flywaydb
Getting started with agile database migrations for java flywaydb
 
Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3
 

Andere mochten auch

Matemática Discreta - Parte IV teoria dos-conjuntos
Matemática Discreta - Parte IV teoria dos-conjuntosMatemática Discreta - Parte IV teoria dos-conjuntos
Matemática Discreta - Parte IV teoria dos-conjuntos
Ulrich Schiel
 

Andere mochten auch (13)

JAVA - Tratamento de Erros
JAVA - Tratamento de ErrosJAVA - Tratamento de Erros
JAVA - Tratamento de Erros
 
Java one
Java oneJava one
Java one
 
Polimorfismo em java
Polimorfismo em javaPolimorfismo em java
Polimorfismo em java
 
Tratamento de exceções em Java
Tratamento de exceções em JavaTratamento de exceções em Java
Tratamento de exceções em Java
 
POO - 16 - Polimorfismo
POO - 16 - PolimorfismoPOO - 16 - Polimorfismo
POO - 16 - Polimorfismo
 
Curso de JSP
Curso de JSPCurso de JSP
Curso de JSP
 
JAVA - Herança
JAVA - HerançaJAVA - Herança
JAVA - Herança
 
Aula 7 diagramas_classes2
Aula 7 diagramas_classes2Aula 7 diagramas_classes2
Aula 7 diagramas_classes2
 
Apostila matemática discreta
Apostila matemática discretaApostila matemática discreta
Apostila matemática discreta
 
Polimorfismo java
Polimorfismo javaPolimorfismo java
Polimorfismo java
 
Matemática Discreta - Parte IV teoria dos-conjuntos
Matemática Discreta - Parte IV teoria dos-conjuntosMatemática Discreta - Parte IV teoria dos-conjuntos
Matemática Discreta - Parte IV teoria dos-conjuntos
 
Exemplos de Design Patterns em Java
Exemplos de Design Patterns em JavaExemplos de Design Patterns em Java
Exemplos de Design Patterns em Java
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas Eficientes
 

Ähnlich wie Erros comuns em java

Aulas de Java Avançado 1 - Faculdade iDez 2010
Aulas de Java Avançado 1 - Faculdade iDez 2010Aulas de Java Avançado 1 - Faculdade iDez 2010
Aulas de Java Avançado 1 - Faculdade iDez 2010
Maurício Linhares
 
Poo1 aula 2 - java - apresentação do netbeans e 1º programa
Poo1   aula 2 - java - apresentação do netbeans e 1º programaPoo1   aula 2 - java - apresentação do netbeans e 1º programa
Poo1 aula 2 - java - apresentação do netbeans e 1º programa
Denis Sobrenome
 
Poo1 aula 2 - java - apresentação do netbeans e 1º programa
Poo1   aula 2 - java - apresentação do netbeans e 1º programaPoo1   aula 2 - java - apresentação do netbeans e 1º programa
Poo1 aula 2 - java - apresentação do netbeans e 1º programa
Denis Sobrenome
 
Apostila: Curso de java I
Apostila: Curso de java IApostila: Curso de java I
Apostila: Curso de java I
Verônica Veiga
 
Java 02 Iniciando Uso Java
Java 02 Iniciando Uso JavaJava 02 Iniciando Uso Java
Java 02 Iniciando Uso Java
Regis Magalhães
 
Excecoes
ExcecoesExcecoes
Excecoes
EMSNEWS
 

Ähnlich wie Erros comuns em java (20)

Java
JavaJava
Java
 
Aulas de Java Avançado 1 - Faculdade iDez 2010
Aulas de Java Avançado 1 - Faculdade iDez 2010Aulas de Java Avançado 1 - Faculdade iDez 2010
Aulas de Java Avançado 1 - Faculdade iDez 2010
 
1707331929 ltp iv java original
1707331929 ltp iv   java original1707331929 ltp iv   java original
1707331929 ltp iv java original
 
Introducao logica2
Introducao logica2Introducao logica2
Introducao logica2
 
Poo1 aula 2 - java - apresentação do netbeans e 1º programa
Poo1   aula 2 - java - apresentação do netbeans e 1º programaPoo1   aula 2 - java - apresentação do netbeans e 1º programa
Poo1 aula 2 - java - apresentação do netbeans e 1º programa
 
Poo1 aula 2 - java - apresentação do netbeans e 1º programa
Poo1   aula 2 - java - apresentação do netbeans e 1º programaPoo1   aula 2 - java - apresentação do netbeans e 1º programa
Poo1 aula 2 - java - apresentação do netbeans e 1º programa
 
Apostila: Curso de java I
Apostila: Curso de java IApostila: Curso de java I
Apostila: Curso de java I
 
Java 02 Iniciando Uso Java
Java 02 Iniciando Uso JavaJava 02 Iniciando Uso Java
Java 02 Iniciando Uso Java
 
01 introducao ao java
01   introducao ao java01   introducao ao java
01 introducao ao java
 
java.io - fluxos (streams) e arquivos
java.io - fluxos (streams) e arquivosjava.io - fluxos (streams) e arquivos
java.io - fluxos (streams) e arquivos
 
Java1
Java1Java1
Java1
 
Webinar: Debugging em Linux embarcado
Webinar: Debugging em Linux embarcadoWebinar: Debugging em Linux embarcado
Webinar: Debugging em Linux embarcado
 
Curso de Java (Parte 2)
 Curso de Java (Parte 2) Curso de Java (Parte 2)
Curso de Java (Parte 2)
 
POO - Unidade 1 (complementar) - Introdução a Java e UML (versão draft 01)
POO -  Unidade 1 (complementar) - Introdução a Java e UML (versão draft 01)POO -  Unidade 1 (complementar) - Introdução a Java e UML (versão draft 01)
POO - Unidade 1 (complementar) - Introdução a Java e UML (versão draft 01)
 
01 java fundamentos
01 java fundamentos01 java fundamentos
01 java fundamentos
 
Criando e Lendo Arquivos TXT com a Classe File
Criando e Lendo Arquivos TXT com a Classe FileCriando e Lendo Arquivos TXT com a Classe File
Criando e Lendo Arquivos TXT com a Classe File
 
Manual
ManualManual
Manual
 
Spring framework 2.5
Spring framework 2.5Spring framework 2.5
Spring framework 2.5
 
Excecoes
ExcecoesExcecoes
Excecoes
 
Aula1
Aula1Aula1
Aula1
 

Mehr von Mario Jorge Pereira

Mehr von Mario Jorge Pereira (20)

Educacao e Inteligencia Artificial Generativa
Educacao e Inteligencia Artificial GenerativaEducacao e Inteligencia Artificial Generativa
Educacao e Inteligencia Artificial Generativa
 
Labs Jogos Java
Labs Jogos JavaLabs Jogos Java
Labs Jogos Java
 
Java www
Java wwwJava www
Java www
 
Html
HtmlHtml
Html
 
HTTP
HTTPHTTP
HTTP
 
Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e Algoritmos
 
Guia rapido java v2
Guia rapido java v2Guia rapido java v2
Guia rapido java v2
 
Guia Rápido de Referência Java
Guia Rápido de Referência JavaGuia Rápido de Referência Java
Guia Rápido de Referência Java
 
Android por onde começar? Mini Curso Erbase 2015
Android por onde começar? Mini Curso Erbase 2015 Android por onde começar? Mini Curso Erbase 2015
Android por onde começar? Mini Curso Erbase 2015
 
Java Nuvem Appengine
Java Nuvem AppengineJava Nuvem Appengine
Java Nuvem Appengine
 
Mini curso Android
Mini curso AndroidMini curso Android
Mini curso Android
 
Java Server Faces
Java Server FacesJava Server Faces
Java Server Faces
 
Minicurso Android
Minicurso AndroidMinicurso Android
Minicurso Android
 
Android, por onde começar?
Android, por onde começar?Android, por onde começar?
Android, por onde começar?
 
Hands-On Java web passando por Servlets, JSP, JSTL, JDBC, Hibernate, DAO, MV...
Hands-On Java web passando por  Servlets, JSP, JSTL, JDBC, Hibernate, DAO, MV...Hands-On Java web passando por  Servlets, JSP, JSTL, JDBC, Hibernate, DAO, MV...
Hands-On Java web passando por Servlets, JSP, JSTL, JDBC, Hibernate, DAO, MV...
 
Android e Cloud Computing
Android e Cloud ComputingAndroid e Cloud Computing
Android e Cloud Computing
 
Threads
ThreadsThreads
Threads
 
RMI (Remote Method Invocation)
RMI (Remote Method Invocation) RMI (Remote Method Invocation)
RMI (Remote Method Invocation)
 
Socket
SocketSocket
Socket
 
Java e Cloud Computing
Java e Cloud ComputingJava e Cloud Computing
Java e Cloud Computing
 

Kürzlich hochgeladen

Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
TailsonSantos1
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
TailsonSantos1
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
HELENO FAVACHO
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
PatriciaCaetano18
 

Kürzlich hochgeladen (20)

Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretação
 
GÊNERO CARTAZ - o que é, para que serve.pptx
GÊNERO CARTAZ - o que é, para que serve.pptxGÊNERO CARTAZ - o que é, para que serve.pptx
GÊNERO CARTAZ - o que é, para que serve.pptx
 
Produção de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptxProdução de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptx
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenos
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 

Erros comuns em java

  • 1. Resolução de problemas de Compilação e Runtime Mario Jorge Pereira mariojp@gmail.com
  • 2. Quando Ocorrem? Durante o desenvolvimento, erros podem ocorrer em dois momentos: Na compilação Esses ocorrem quando se executa o javac e são mais simples de corrigir Erros que estão geralmente ligados a sintaxe Uma boa IDE já aponta o erro e muitas vezes ate mesmo a solução Na execução ( runtime ) Esses erros ocorrem quando se executa o java e não são tão simples de corrigir
  • 3. Compilando o .java Nesse momento podem ocorrer 2 tipos de erro: Erros de processamento do arquivo (parsing) Os motivos são ponto-e-vírgula faltando, parênteses, aspas, chaves ou colchetes descasados. IO compilador identifica apenas o arquivo e a linha onde o erro pode ter iniciado. Um erro pode causar vários outros e nem sempre a mensagem é precisa. Erros de compilação do código Realizada depois do parsing. Além da linha e do arquivo, identificam a classe e método. Geralmente as mensagens são bem claras.
  • 4. Erros mais comuns na hora de Compilar javac : Command not found A variável PATH não esta corretamente configurada. Inserir a pasta bin do JDK (onde esta o javac) no PATH. Cannot resolve symbol O compilador não encontrou a definição de um determinado simbolo. Geralmente são erros de sintaxe ou a definição de classe não encontrada no CLASSPATH Class Classe is public, should be declared in a file named Classe.java Se o arquivo .java tiver uma classe publica, o nome da classe e o nome do arquivo devem ser rigorosamente o mesmo. O mesmo erro aparece caso exista mais de uma classe publica no arquivo.
  • 5. Erros mais comuns na hora de Compilar
  • 6. Erros mais comuns na hora de Compilar
  • 7. Erros de Runtime Passando com sucesso a fase de compilação são gerados os arquivos .class (bytecodes). Ao ocorrer um erro no momento da execução geralmente é impresso um "stack trace". Nem sempre mostra a linha de código onde o erro começou O início do trace geralmente contém informações mais úteis Erros de runtime podem ocorrer tambem por causas externas: não existência de arquivos externos, falta de memória e falha em comunicação de rede
  • 8. Erros mais comuns na hora de Executar java.lang.NoClassDefFoundError : NomeClasse A classe que estamos tentando executar não foi encontrada. Verifique o nome da classe e a localização java.lang.NoSuchMethodError: main A classe que estamos executando não possuí o metodo: public static void main(String[] args){ ... } Verifique se a classe tem o metodo e se sua sintaxe esta correta. java.lang.ArrayIndexOutOfBoundsException Tentativa de acessar vetor além do limite definido. Verifique a logica da aplicação.
  • 9. Erros mais comuns na hora de Executar java.lang.NullPointerException referência para objeto é nula Variável de tipo objeto ou Vetor foi declarado mas não inicializado Verifique a logica da aplicação. java.lang.NoSuchMethodError: main A classe que estamos executando não possuí o metodo: public static void main(String[] args){ ... } Verifique se a classe tem o metodo e se sua sintaxe esta correta. java.lang.ArrayIndexOutOfBoundsException Tentativa de acessar vetor além do limite definido. Verifique a logica da aplicação.
  • 10. Dicas Devemos criar aplicações que prevejam a possibilidade de erros devido a fatores externos e ajam da melhor forma possível Devemos evitar que erros de lógica sobrevivam além da fase de desenvolvimento. Para evitá-los: Escreva código claro, fácil de entender, organizado, pequeno Use endentação, siga convenções, nomes significativos, documente Escreva testes para todo código e rode-os com freqüência Para achar os erros difíceis Rode código de testes se os tiver; Ative nível de mensagens de log Aprenda a usar um depurador para navegar no fluxo de execução