Есть ли способ явно выдать исключение из выражения в JavaScript, помимо размещения этого throw
функции-оболочки?Есть ли способ выбросить исключение из выражения, кроме использования функций?
throw
- инструкция, инструкции не приводят к значениям, поэтому они не могут использоваться в выражениях, которые действуют на значения и всегда производят значение. Совершенно очевидно, что любой оператор можно поместить в функцию, и из выражения можно использовать вызов функции. Есть ли способ избежать обертывания оператора throw
функции и выкинуть из выражения напрямую?
UPDATE:
Некоторые люди говорят, что это не совсем понятно, о чем я спрашиваю о. Рассмотрим гипотетический пример (не реальный), это то, что я желаю работал, но это не делает:
var one = value != null ? value * value : (throw new Error('The value has not been provided'));
var two = value != 0 ? 1/value : (throw new Error('The result cannot be evaluated because the value is zero which would give a division by zero problem.));
Ваша реальная проблема не ясна. Что случилось с ''? –
Не могли бы вы показать пример или пояснить, что вы имеете в виду? –
Почему вы хотите «бросать» прямо из выражения? Вы бы выбрали только некоторые условия - так почему бы не использовать блоки 'if' /' else' или 'try' /' catch' ... Вы просите однострочный чек? –