无法捕获Java

时间:2018-12-18 10:22:58

标签: java exception try-catch

场景:

我正在使用project来使用Java管理MPT。

我有一段类似的代码:

try {
    originalfilename = m_allFiles[i].getOriginalFileName();
} catch (Exception e)  {
    System.out.println("Exception Caught");
}

当我从不同的线程访问对象时,有时此指令会引发类似be.derycke.pieter.com.COMException

的异常

问题:

从不打印消息“捕获到异常” ,控制台将打印此堆栈跟踪:

be.derycke.pieter.com.COMException: Failed to retrieve the properties (0x800700aa)
    at jmtp.PortableDevicePropertiesImplWin32.getValues(Native Method)
    at jmtp.PortableDeviceObjectImplWin32.retrieveStringValue(Unknown Source)
    at jmtp.PortableDeviceObjectImplWin32.getOriginalFileName(Unknown Source)
    at com.servifot.kiosco.MobileCableSearcher$MobileFolderSearcher.run(MobileCableSearcher.java:284)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

“ MobileCableSearcher.java:284”行是我尝试的内容。那么为什么catch不能捕获异常?

更多信息:

我称为getOriginalFilename()的对象是PortableDeviceObject

我尝试捕获 Throwable ,但问题完全相同。

我尝试用be.derycke.pieter.com.COMException指定异常,但出现此错误: enter image description here

1 个答案:

答案 0 :(得分:2)

PortableDeviceObjectImplWin32.retrieveStringValue中捕获并报告了异常。

在这种情况下,您将获得null的结果getOriginalFileName