2012-08-24 63 views
1

我有這個方法拋出異常調用它拋出一個方法異常

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

我試圖從GUI調用此方法

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

它不停地給這個錯誤

  • 「 )' 是期待。
+0

你的方法調用被認爲是該方法的定義本身由編譯器。 – Lion

回答

0

下面是與正確的語法寫一個方法:

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

我試過你的方法,它給了這個錯誤:未報告的異常javax.xml.transform.TransformerException:必須被捕獲或聲明爲拋出.. ive添加它 – lee

+0

固定。我錯過了一個例外(抱歉,在我添加此評論之前,我被某人拉走了) –

0

在調用方法時,您不需要包含整個方法簽名(在本例中爲throws子句)。

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

應該是當你聲明的方法,而不是當你把它

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

只應指定。

此外,變量名應該按照慣例以小寫字母開頭,正如@ssloan所指出的,方法名應該位於較低的camelCase中。
更改您的代碼

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

雖然我們在約定,方法名稱應該在較低的camelCase。所以你的方法應該是pipeIt(...)而不是Pipeit。 – ssloan

相關問題