Capturando exceção em conversões

3 respostas
pdform

Olá!

O código abaixo é uma classe que eu implementei para meu curso. A classe exercicio02 é outra classe cujo método escrever imprime uma string no console. Eu queria saber como capturar e tratar a exceção que ocorre se o usuário não informar valores numéricos como argumentos do programa.

Flw!

//importa package
import java.io.*;

public class exercicio07
{
	public static void main(String args[])
	{
		double num1,num2,num3,prod = 0.0;
		String msg = "";
		
		exercicio02 a = new exercicio02();
		
		if(args.length == 3)
		{
			num1 = Double.parseDouble(args[0]);
			num2 = Double.parseDouble(args[1]);
			num3 = Double.parseDouble(args[2]);
				
			prod = num1*num2*num3;

			msg = Double.toString(prod);
			a.escrever(msg);
		}
		else
		{
			a.escrever("Necessarios 3 argumentos");
		}
	}
}

3 Respostas

akumaldo

Olha....
Eu acho que exatamente dessa maneira que você quer...a exception não vai funcionar...mas vamos lá...acho que se você fizer assim pode funcionar:

[code]
//importa package
import java.io.*;

public class exercicio07
{
public static void main(String args[])
{
double num1,num2,num3,prod = 0.0;
String msg = "";

exercicio02 a = new exercicio02();

try
{
if(args.length == 3)
{
num1 = Double.parseDouble(args[0]);
num2 = Double.parseDouble(args[1]);
num3 = Double.parseDouble(args[2]);

prod = num1*num2*num3;

msg = Double.toString(prod);
a.escrever(msg);
}
else
{
a.escrever("Necessarios 3 argumentos");
}
}catch (IllegalArgumentException e) e.printStackTrance(); //ou código que achar mais interessante
}
}

akumaldo

Olha…
Eu acho que exatamente dessa maneira que você quer…a exception não vai funcionar…mas vamos lá…acho que se você fizer assim pode funcionar:

/importa package
 import java.io.*;
 
 public class exercicio07
 {

	public static String verificador(double... nums) throws IllegalArgumentException
	{
		private double prod = 0.0;
		private String msg = "";
		for (double d: nums)
 			prod += d;
		msg = double.toString(prod);
		return msg
	}

		

 	public static void main(String args[])
 	{
	exercicio02 a = new exercicio02();

 	//coloca o if aqui...	
 	try
	{
		a.escrever(verificador(Double.parseDouble(args[0]),Double.parseDouble(args[1],Double.parseDouble(args[2]));	
 
 	}catch IllegalArgumentException { System.out.println("formatos não validos"); } //ou um printStackTrance
 }
pdform

funcionou sim! valeu!

Criado 15 de julho de 2006
Ultima resposta 15 de jul. de 2006
Respostas 3
Participantes 2