我有一段代碼,即有時會拋出的NullPointerException。到目前爲止並不真正有趣。但是異常發生在一行中,並沒有引用任何對象。的NullPointerException不參考任何對象
try
{
parser.parse(input);/*line 186*/
}
catch(Exception e)
{
//NPE happens in the next line?
throw new SAXException("Error parsing document", e);/*line 190*/
}
這裏的堆棧跟蹤
java.lang.NullPointerException
at com.tejoe.MyXMLParser.parse(MyXMLParser.java:190)
at com.tejoe.MyXMLParser.parse(MyXMLParser.java:168)
....
它只會發生在兩次過去三個月和代碼運行至少十萬次。
我已經反編譯我的代碼,以確保在線信息是正確的,是的,他們是。
附加試驗
似乎與SAXException中一些特別的東西。我做了以下測試:
import org.xml.sax.SAXException;
public class Test
{
public static void main(String[] args) throws Exception
{
new SAXException("Error", new NullPointerException()).printStackTrace();
}
}
我得到了以下輸出
java.lang.NullPointerException
at Test.main(Test.java:7)
Caused by: java.lang.NullPointerException
... 1 more
解決方案: 的SAXException覆蓋toString方法,返回的原因異常的名稱。
我現在只想知道,我沒拿到造成在生產環境(AIX JAVA)輸出
parser.parse(輸入); 解析器是否爲空? 是否輸入爲空? – madhairsilence
您確定要顯示的代碼來自文件FwXMLParser.java,而不是您使用此類的位置? –
我不相信反編譯將被證明與問候什麼行號,除非它保留空白(我懷疑)。 –