Pessoal, to estudando exceções, mas ainda to com muita dúvida quanto a sua utilidade e necessidade. Porque não usar condições para desviar desses erros?
Exceções em java foram feitas com o proposito do tratamento de erros.
Sejam eles em tempo de execução, provocados por natureza humana, ou gerados por uma instrução do seu código.
Por que não desviar esses erros?
bem é quase impossivel você fazer um programa complexo, que não contenham erros ou entao que não contenham areas de risco(partes do codigo em que podem ocorrer esses erros).
Java disponibiliza o tratamento de exceções, uma forma de você usar a Orientação a Objetos para de uma maneira mais elegante você tornar seu programa robusto.
espero ter ajudado.
bom so para completar gp7junior falou… imagine a situalção que vc quera gravar algo em um arquivo… mais isso eh muito arriscado se o arquivo nao exisitir? como vc vai gravar algo ? entao é precisso tratar caso isso venha acontecer… alem disso… exceções facilita legibilidade do seu codigo… do que colocar instruções dentro de if’s… e facilita a manutenção… vc pode colocar uma exceção que faz isso:
catch(Exception e){System.out.println("ocorreu um erro na linha 20, nao foi possivel encontrar o arquivo");}
bom procure entender a essencia de exceções e a sintaxe basica… quando se envolver mais com a linguaguem vai ver o pq delas… mais na pratica
Existe também situações que não são desviáveis.
Por exemplo, você faz um método de transmissão de dados de um aplicativo cliente para um servidor. E o servidor, no meio da transmissão, corta a conexão. O que o cliente faz?
Lança uma exceção, avisando do ocorrido.
Outro exemplo: você tem um método para ordenar uma lista. Mas um programador usa esse método passando nulo no lugar da lista. É um caso de erro também.
Você pode estar pensando que poderíamos retornar um código de erro, evitando a exceção. Mas isso é péssimo. Dá uma olhada nesse post, para ver uma explicação mais detalhada do porque.
Obrigado pessoal, após um ler as sugestões do fórum observei a essencia das exceções.
brigadão.
esse exemplo abaixo pode quebrar alguma duvida se tiver…
import java.io.IOException;
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.File;
import java.io.PrintWriter;
class ArqExc{
public static void main (String args[]){
File f = new File("Ioex.txt");
try{
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
String s = br.readLine();
}catch(IOException e){
try{
f.createNewFile();
}
catch(IOException z){}
}
finally{
System.out.println("aprendendo");
}
}
}
/* esse codigo lanca uma execacao pq nao encontra o arquivo porem
ela trata criando o arquivo caso ele nao for encontrado, isso
eh uma das essencia de tratamento de exeções em codigo perigosos*/
flw!!