basico...ayuda por favor

Eva_V
05 de Abril del 2005
Hola a todos por favor a ver si alguien puede responderme un par d preguntas...

1) Por que cuando un metodo escribe un fichero hay
q poner THROW EXCEPTION y que significa??

2)Al usar el metodo en cuestion el MAIN de mi clase parece no reconocer el metodo para escribir dicho fichero.Por favor ayuda,os adjunto el código por si sirve de algo:

package pfc;

import pfc.*;
import java.io.*;

class cliente
{

Vcausa vc;
Vsintoma vs;




public void fichero() throws Exception
{
String source= "class pasoapaso "+
"{ "+
"inputs = (); "+
"outputs = (); "+
"node_size = (80 40); "+
"HR_Grid_X = "+"40; "+
"HR_Grid_Y = "+"40; "+
"HR_Grid_GridSnap ="+ "0; "+
"HR_Grid_GridShow ="+ "0; "+
"HR_Font_Name = "+"Arial; "+
"HR_Font_Size = "+"-12; "+
"HR_Font_Weight ="+ "400; "+
"HR_Font_Italic ="+ "0; "+
"HR_Propagate_Auto ="+ "1; "+
"HR_Propagate_AutoSum ="+ "1; "+
"HR_Propagate_AutoNormal ="+ "1; "+
"HR_Compile_TriangMethod ="+ "0; "+
"HR_Compile_Compress ="+ "0; "+
"HR_Compile_Approximate ="+ "0; "+
"HR_Compile_ApproxEpsilon ="+ "1.0E-5; "+
"HR_Compile_MaxMinimalSeparators ="+ "100000; "+
"HR_Monitor_AutoUpdGraph ="+ "0; "+
"HR_Monitor_GraphPrecision ="+ "100; "+
"HR_Monitor_OpenGraph ="+ "0; "+
"HR_Monitor_InitStates ="+ "5; "+
"HR_Monitor_InitSD ="+ "2; "+
"HR_Color_DiscreteChance ="+ "16; "+
"HR_Color_ContinuousChance ="+ "48; "+
"HR_Color_Decision ="+ "17; "+
"HR_Color_Utility ="+ "36; "+
"HR_Color_Instance ="+ "0; "+
"HR_Color_Interface ="+ "21; "+
"HR_Groups_UserGroupsNo ="+"1; "+
"HR_Groups_GroupNames ="+"1; "+
"HR_Groups_GroupColors ="+"; "+
"HR_Zoom_ZoomFactor ="+"100; "+
"HR_OOBN_FitEpand ="+ "1; "+
"HR_Desc ="+"0; ";

byte buf[]=source.getBytes();
OutputStream f0=new FileOutputStream("pasoapaso.net");
OutputStream f1=new FileOutputStream("pasoapaso.hlg");
f0.write(buf);
f0.close();

}



public static void main(String[] args)
{
char control='s';
cliente c=new cliente();
c.vc=new Vcausa();
c.vs=new Vsintoma();


System.out.println("FASE 1: CAUSAS ");

while(control=='s')
{
c.vc.introducir();
System.out.println("AÑADIR CAUSA?? (S/N)");
control=Teclado.readChar();
}

control='s';



System.out.println("FASE 2 : SINTOMAS");

while(control=='s')
{
c.vs.introducir();
System.out.println("AÑADIR SINTOMA?? (S/N)");
control=Teclado.readChar();
}





c.vc.consultarvector();
c.vs.consultarvector();
c.fichero();




}



}


Y el error en custion q me da es:
"cliente.java": unreported exception java.lang.Exception; must be caught or declared to be thrown at line 102, column 4


Gracias a todos por vuestra ayuda!! Eva

astur_racing
05 de Abril del 2005
Haber si lo digo bien,
para lo primero: en java siempre hay que controlar las excepciones con los ficheros, por eso lo de poner THROW EXCEPTION, asi tienes controlado cualquier error en el tratamiento de un fichero. Yo en lugar de dejar que me lo ponga java lo que pongo es:
try {
bw = new BufferedWriter(new FileWriter(fichero));
salida = new PrintWriter(bw);

// Asi creo el fichero, despues para guardar la informacion utilizo:
salida.println("Lo que quieras");

}catch (java.io.IOException ioex) {
// Aqui generalmente pongo un mensaje por pantalla.
}

Para lo de tu error, te esta diciendo que te falta una clausula THROW EXCEPTION en la linea 102, si en lugar de poner:
public void fichero() throws Exception

lo pones con el Try y el catch (java.io.IOException ioex) {}
en esa funcion, creo que ya no te dara ese error.

Espero haberte servido de ayuda.