Exceções

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!!