У меня есть приложение Blackberry, которое загружает файл из Интернета. Иногда загрузка завершается успешно, а иногда - где-то посередине. Это только кажется проблемой на устройстве Curve 9360. Когда происходит сбой, на устройстве оно закрывает мое приложение и показывает всплывающее окно с надписью
"Uncaught exeception Application [MyApp] не отвечает; процесс
прекращено "
это цикл while, в котором он находится при сбое:
byte data[] = new byte[1024];
try {
while ((count = is.read(data)) != -1) {
total += count;
progress = (int)(total*100/lengthOfWebFile);
if(model.getValue() < progress){
UiApplication.getUiApplication().invokeLater(new Runnable()
{
public void run()
{
EmbeddedMediaScreen.this.model.setValue(progress);
}
});
}
//write this chunk
os.write(data, 0, count);
}
} catch (Exception e) {
e.printStackTrace();
}
Я не получаю никакой трассировки стека в консоли, когда это происходит. Я получаю следующее:
[710.328] Application BBCurve9360DemoLoop(314) is not responding; process terminated
[710.328]
[710.429] [0 0]
[710.429] 0 2
[710.429] 0 2
[710.429] 0 2
[710.429] 0 2
[710.429] 0 2
[710.429] 0 2
[710.429] 0 2
[710.429] 0 2
[710.429] 0 2
[710.429] 0 2
[710.429] 0 2
.[lots more "0 2"s]
.
.
.
[710.429] 2 203
[710.429] 0 2
[710.429] 0 2
[710.429] 0 2
[710.429] 0 2
.[lots more "0 2"s
.
.
Кто-нибудь сталкивался с чем-то подобным во время программной загрузки файла на устройство Blackberry?
Может ли кто-нибудь увидеть в моем цикле ввода-вывода что-нибудь, что могло бы вызвать такой тип сбоя?
И, наконец, кто-нибудь знает, есть ли какой-нибудь способ, которым я могу получить фактическую трассировку стека любого генерируемого исключения?