Проверить JavaScript-код - PullRequest
       13

Проверить JavaScript-код

5 голосов
/ 14 января 2010

Я использую Java ScriptEngine для выполнения кода JavaScript. Я использую Invocable Interface, чтобы я мог использовать Script Code как обычный Java-объект, реализующий Java-интерфейс.

Если код JavaScript

  • недействительно
  • не соответствует интерфейсу (отсутствующие методы, неправильный тип возвращаемого значения, исключение и т. Д.)

Я получаю внутреннее исключение от Rhino или UndeclaredThrowableException при выполнении кода. Оба являются RuntimeExceptions, которые «не разрешено» перехватывать.

Есть ли способ проверить код перед выполнением? Или я должен нарушить здесь правило и поймать RuntimeExceptions? Это будет работать для меня, но какой самый элегантный способ?

Ответы [ 3 ]

2 голосов
/ 14 января 2010

Есть ли способ проверить код перед выполнением?

Нет. JavaScript свободно набран, не имеет концепции интерфейсов и интерпретируется на лету.

Без разработки собственной платформы проверки лучше всего проверить ее на наличие синтаксических ошибок с помощью JSLint .

1 голос
/ 14 января 2013

Несколько лет спустя ... для других, кто наткнулся на это: Вы можете использовать строгий режим, который добавляет больше проверок во время выполнения, используя "use strict";

http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/

Некоторые редакторы кода обеспечивают проверку в реальном времени (синтаксис ...)

0 голосов
/ 10 июля 2014

Закрывающий компилятор выполняет все виды проверки на основе аннотаций.

https://developers.google.com/closure/compiler/docs/js-for-compiler

...