2012-08-24 4 views
1

j'ai cette méthode qui génère une exceptionappel d'une méthode qui génère une exception

public String Pipeit() throws TransformerException, 
TransformerConfigurationException,SAXException, IOException 

j'ai essayé d'appeler cette méthode à partir d'une interface graphique

Pipe P = new Pipe (fname,x1name,x2name,x3name,oname); 
    view.setText(P.Pipeit()throws TransformerConfigurationException,SAXException, 
     IOException)) 

Il a continué à donner cette erreur

  • ')' devrait. Lors de l'appel de la méthode, vous n'avez pas besoin d'inclure la signature de méthode entière (dans ce cas, throws clause).
+0

Votre appel de méthode est considérée comme la définition de la méthode elle-même par le compilateur. – Lion

Répondre

0

Voici une façon d'écrire cela avec une syntaxe correcte:

Pipe P = new Pipe (fname,x1name,x2name,x3name,oname); 
try { 
    view.setText(P.Pipeit()); 
} catch (TransformerConfigurationException e) { 
    //log/handle the exception 
} catch (TransformerException e) { 
    //log/handle the exception 
} catch (SAXException e) { 
    //log/handle the exception 
} catch (IOException e) { 
    //log/handle the exception 
} 
+0

j'ai essayé votre méthode et il a donné cette erreur: exception non signalée javax.xml.transform.TransformerException: doit être attrapé ou déclaré être jeté .. ive ajouté – lee

+0

Fixe. J'ai manqué une exception (désolé j'ai été tiré par quelqu'un avant que je puisse ajouter ce commentaire) –

0

view.setText(P.Pipeit()throws TransformerConfigurationException,SAXException, 
      IOException)) 

devrait être

view.setText(new P().Pipeit()) 
2
throws TransformerConfigurationException,SAXException, IOException 

ne doit être spécifié lorsque vous déclarez la méthode, pas quand vous l'appelez.

De même, les noms de variables doivent normalement commencer par une lettre minuscule, et comme @ssloan le signale, les noms de méthodes doivent être dans camelCase inférieur.
Changer votre code

Pipe p = new Pipe (fname,x1name,x2name,x3name,oname); 
view.setText(p.pipeIt()); 
+6

Pendant que nous sommes sur des conventions, les noms de méthodes doivent être dans camelCase inférieur. Donc votre méthode devrait être pipeIt (...) pas Pipeit. – ssloan

Questions connexes