Есть ли способ изменить код ошибки «Ошибка типа: a не определена»? - PullRequest
0 голосов
/ 18 октября 2019
let array= [
  {fruit: "pear", price: 9.89},
];

function fruitCheck(a) {
    var fruitTest = array.find(function(check) {
        return check.fruit == a
    });
    return fruitTest ? fruitTest : a == undefined ? "Where is your fruit???" : a + " is not a fruit!!!!!"
}

Как я могу изменить это, чтобы, когда пользователь ничего не вводил, консоль регистрировалась («Извините, вы ничего не вводили»). Возможно ли это?

Ответы [ 2 ]

0 голосов
/ 18 октября 2019

Ошибка уже происходит в вашем find() обратном вызове. Проверьте тип a в начале вашей функции, затем вы можете использовать console.error() (или console.log() или console.warn()) для регистрации пользовательского сообщения об ошибке. Конечно, вы также можете выдать пользовательское исключение.

function fruitCheck(a) {
    if (typeof a === "undefined") {
        console.error("Sorry, you didnt input anything");
        return;
    }

    var fruitTest = array.find(function(check) {
        return check.fruit == a
    });
    return fruitTest ? fruitTest : a == undefined ? "Where is your fruit???" : a + " is not a fruit!!!!!"
}
0 голосов
/ 18 октября 2019

Просто внутри вашей функции проверьте параметр, чтобы увидеть, установлен ли он.

Пример:

If (typeof a === “undefined”) {
   console.log(‘error message here’)
   return; // to prevent the rest of your code form executing

}

...