0
Waiting for user's reply

Исключения при работе клиента

evg 8 years ago in iRidium Script / AV and Driver scripts updated by Dmitry - support (expert) 8 years ago 1

Доброе утро!
Необходим механизм обработки исключений в работающем клиенте. Например, при невозможности выполнения команды:

var JSONObject = JSON.Parse(text);

эмулятор выдает сообщение:

WARNING Script exception: SyntaxError: C:\Users\evgeniy\Documents\iRidium mobile 2\Settings\iRidium\Main\script.js:331: <string>:1: expected ')' but got a string

текст получается от оборудования и разрезается на части, чтобы получить текст пригодный для конвертации в JSON. Но бывает всякое - и текст не всегда удается правильно обрезать единым алгоритмом.

Хочется иметь возможность:

1. сначала проверить текст на возможность конвертации, и только потом выполнить конвертацию. При невозможности, либо повторить запрос, либо ничего не делать

2. в непредвиденной ситуации, при получении сообщения "WARNING..." не останавливать выполнение общего кода

Может уже есть такие механизмы?

+1
Waiting for user's reply

Здравствуйте!


Ошибку, которую вы указали можно получить именно в момент попытки преобразования полученного текста в объект JSON или при любом другом парсинге полученного текста. Специальных механизмов для предотвращения этого у нас нет, но можно функцию преобразования к JSON объекту например обернуть вот так


try{

var json = JSON.Parse(text);


}catch(e){

IR.Log("errror = " + e);

}

В этом случае, если первая часть пройдет не удачно, то в теле catch можно прописать повторный запрос.