Какие есть способы узнать, из какой функции был вызов, помимо Function.caller?

228
18 февраля 2018, 00:00

В приведённом ниже коде machineMonthNumber - это номер месяца от 0 до 11 (в отличие от humanMonthNumber - номер месяца от 1 до 12). Функция validateMachineMonthNumber(machineMonthNumber), как видно из названия, валидирует машинный номер месяца: сначала проверяется тип данных аргумента, потом его целочисленность и наконец, диапазон.

function validateMachineMonthNumber(machineMonthNumber){
    if (typeof machineMonthNumber !== 'number') {
        throw new Error('validateMachineMonthNumber() ошибка: тип аргумента должен быть числом'); 
    }
    if (!Number.isInteger(machineMonthNumber)) {
        throw new Error('validateMachineMonthNumber() ошибка: аргумент должен быть целочисленным.'); 
    }
    if (machineMonthNumber < 0 || machineMonthNumber > 11) {
        throw new Error('validateMachineMonthNumber() ошибка: аргумент должен быть целым числом от 0 до 11'); 
    }
}

При бросании исключения указано, в какой функции это исключение было брошено. Но функцию validateMachineMonthNumber() планируется использовать внутри других функций, а потому сообщение о том, что ошибка исключение произошла именно в validateMachineMonthNumber(), хотя и является точным, но не даст информации и том, из какой функции был получен аргумент machineMonthNumber. А как это можно узнать?

Метод Function.caller имеет статус depricated. Какие ещё есть альтернативы?

READ ALSO
ckeditor плагин link - как запретить скрывать protocol?

ckeditor плагин link - как запретить скрывать protocol?

Настраиваю ckeditor, а точнее его плагин linkХочу сделать так, чтобы при вставке ссылки не прятался протокол (http:// , https:// , ftp://

222
Событие onclick на кнопке

Событие onclick на кнопке

Когда я нажимаю на кнопку, чтобы высвечивался alert с текстом кнопкиУ меня такой код, это правильно, или надо по-другому прописать?

228
Получить данные PHP

Получить данные PHP

Как получить href?

207
Как создать в Visual Composer свой Shortcode с изображением?

Как создать в Visual Composer свой Shortcode с изображением?

Мне нужно создать элемент, где будет 3 поля описания и одно изображение

238