请考虑以下代码:
// program is reading data from an excel file, Sheet1 at cell(0,0).
public class Read {
public static void main(String[] args) throws Exception{
File f = new File("sample.xlsx");
FileInputStream fis = new FileInputStream(f);
XSSFWorkbook wb = new XSSFWorkbook(fis); // set a breakpoint here
XSSFSheet sheet = wb.getSheetAt(0);
String data = sheet.getRow(0).getCell(0).getStringCellValue();
System.out.println(data);
wb.close();
}}
程序工作正常,但在创建XSSFWorkbook对象时设置断点的调试中,线程被挂起,Eclipse打开“Reader.class”。
以下是堆栈信息:
Thread [main] (Suspended (exception NullPointerException))
InputStreamReader(Reader).<init>(Object) line: not available
InputStreamReader.<init>(InputStream) line: not available
...
...
XSSFWorkbook.<init>(InputStream) line: 296
Read2.main(String[]) line: 20
请告诉我,这里有什么问题?
答案 0 :(得分:1)
Eclipse暂停该线程,因为发生了NullPointerException
。您似乎在某个时候为NullPointerException
添加了NuGet documentation。甚至在您点击您设置的断点之前,就会抛出此异常。它被捕获到其他地方,这就是为什么当你运行(而不是调试)程序时你没有注意到它。
你可以点击&#34;恢复&#34;或者在断点视图中删除异常断点(再次按Alt-Shift-Q,Q并搜索&#34;断点&#34;)。