2016-06-20 1 views
2

Я пишу скрипт iMacros, используя js в firefox. Но я не могу использовать синтаксис try catch. iMacros: не работает try catch синтаксис в javascript

try { 
     throw new Error("NotImplementedError message"); 
    } catch (ex1) { 
     alert("ex1 instanceof Error = " + (ex1 instanceof Error)); 
     alert("ex1.name = " + ex1.name); 
     alert("ex1.message = " + ex1.message); 
    } 

TypeError: ex1 is undefined, line 5 

screenshot

+0

Очень странно, потому что я побежал этот код на [это jsfiddle] (https://jsfiddle.net/) и работает, как ожидалось. – ishmaelMakitla

+0

Не могли бы вы добавить еще какой-нибудь контекст? Какая у вас FF vesion, какая версия iMacros, как именно вы запускаете скрипт? Отображаются ли предупреждения при запуске? – Jezor

+0

Это правильный код js. Но это не работает в iMacros. Ubuntu 16.04, FireFox 47.0, iMacros для Firefox 8.9.7 Добавлен снимок экрана – Evgeny

ответ

0

Я послал отчет. Они одобрили это. Но я не знаю, тогда они разрешат это.

Так что я написал временное решение:

let Exception = { 
     error: undefined, 
     throw: function(error){ 
      this.error = error; 
      throw error; 
     }, 
    }; 

Использование:

try { 
     Exception.throw(new Error('some text')); 
    } catch(e) { 
     e = Exception.error; 
    //... 
    }