[英]Java program working file but on debugging “Thread suspended”
请考虑以下代码:
// 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
请告诉我,这是怎么了?
Eclipse挂起线程,因为发生了NullPointerException
。 好像您在某个时候为NullPointerException
添加了一个异常断点 。 甚至在达到设置的断点之前,都会引发此异常。 它在其他地方被捕获,这就是为什么您在运行(而不是调试)程序时没有注意到它的原因。
您可以单击“恢复”,也可以在断点视图中删除异常断点(再次按Alt-Shift-Q,Q并搜索“断点”)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.