Не работает "Игнорировать ошибки"



  • Приветствую всех, в общем проблема в следующем:
    Сделал скрипт, но периодически скрипт завершается с сообщением:
    Поток №15 : Поток завершился с сообщением "SyntaxError: Unable to parse JSON string во время выполнения действия"
    Завернул это в функцию "Игнорировать ошибки", но проблема не исчезла. Подскажите пожалуйста, что я не так делаю?



  • @valdiaz Это не распространяется на синтаксические ошибки. У вас видимо не всегда приходит json. Используйте конструкцию try/catch



  • This post is deleted!


  • @denis_krsk как-раз сейчас пробую, скажите пожалуйста, как в случае ошибки вывести сообщение в лог?



  • @valdiaz

    try{
      var json = JSON.parse([[SAVED_CONTENT]]);
    }catch(e){
      log(e.message);
    }
    


  • @denis_krsk Спасибо



  • @ValDiaz Для работы с BAS будет более удобен такой вариант:
    Объявляете в самом начале скрипта функцию через выполнить код

    function IsJsonString(str) {
        try {
            JSON.parse(str);
        } catch (e) {
            return false;
        }
        return true;
    }
    

    А затем после запроса в выполнить код делаете проверку:

    [[CHECK]] = IsJsonString(http_client_encoded_content("auto"))
    

    Далее if [[CHECK]] парсим json, else log("Ошибка")



  • @fox Спасибо, это даже больше подойдет, но пока не хочу нагромождать скрипт большим количеством действий


Log in to reply
 

  • 4
  • 4
  • 6
  • 2
  • 7
  • 8
  • 4
  • 3