我已經寫了一些代碼,需要從一個文本文件的完整地址輸入的IP地址,將這些物理位置忽略零點異常,並進行
但是偶爾的結果會給出一個空指針異常 - 有點期待由於輸入的文本文件有時不是100%格式正確,但是當我有超過一百萬個地址的空指針異常可能有點討厭停止我的程序哈哈 - 我可以用這樣的方式編碼捕獲異常並繼續進行?
public convert() {
// System.out.println("in test");
Locate obj = new Locate();
String file = "Bitcoin_IP.txt";
try (BufferedReader br = new BufferedReader(new FileReader(file))) {
String line;
while ((line = br.readLine()) != null) {
// System.out.println(line);
ServerLocation location = obj.getLocation(line);
System.out.println(location);
try {
String filename = "Locations.txt";
try (FileWriter fw = new FileWriter(filename, true)) {
fw.write(location + "\n");
}
} catch (NullPointerException ioe) {
System.err.println("NullPointerException: " + ioe.getMessage());
}
}
} catch (IOException ex) {
Logger.getLogger(Locate.class.getName()).log(Level.SEVERE, null, ex);
}
}
你爲什麼認爲這是預期的?我看不出爲什麼你會在你顯示的代碼中得到一個'NullPointerException' ... –
(基本上,而不是捕捉'NullPointerException',你應該檢查相關變量的值是否爲null, ) –
你有沒有考慮移動'ServerLocation location = obj.getLocation(line);在'try'塊內? – vikingsteve