Сценарий:
Я использую проект для управления MPT с Java.
У меня есть фрагмент кода вроде:
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» - это то, что я имею в попытке.Так почему перехват не перехватывает исключение?
Дополнительная информация:
Объект, который я называю getOriginalFilename (), является PortableDeviceObject
Я пытался поймать Throwable , но проблема точно такая же.
Я пытался указать исключение с be.derycke.pieter.com.COMExceptionно я получаю эту ошибку: