Как выдать свою ошибку при не нахождении функции/элемента в классе JS?
Хай народ, сразу благодарю за ответ.
У меня есть класс:
class test { constructor(result) { this.result = result } async get_result() { return this.result } } |
class test { constructor(result) { this.result = result } async get_result() { return this.result } }
Нужно выдавать кастомную ошибку при введении, например test.{рандомные буквы цифры и тп}, честно, не знаю как это сделать.
Например:
{ error: { error_code: -2, error_msg: "Unknown function" } } |
{ error: { error_code: -2, error_msg: "Unknown function" } }
При этом не завершая дальнейшую часть кода, например там другой но уже правильный запрос.
Дополнительно:
где в вашем коде сочетание букв "api"?
Если вы спрашиваете, как в своем классе перехватить обращение к несуществующему методу или свойству, то так и надо спрашивать.
Ответы:
Ну как, через try catch перехватить
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для того чтобы выдать свою ошибку при не нахождении функции или элемента в классе JavaScript, можно использовать конструкцию try...catch. Вот пример кода, который позволяет проверить наличие функции в классе и выдать пользовательскую ошибку:
class MyClass { myFunction() { console.log('Hello, World!'); } } const myClassInstance = new MyClass(); try { if (typeof myClassInstance.myFunction !== 'function') { throw new Error('Метод myFunction не найден в классе MyClass'); } myClassInstance.myFunction(); } catch (error) { console.error(error.message); }
В данном примере мы создаем класс MyClass с методом myFunction, затем создаем экземпляр класса и проверяем наличие метода myFunction в нем. Если метод не найден, то выбрасываем ошибку с пользовательским сообщением. В противном случае вызываем метод myFunction.
Таким образом, используя конструкцию try...catch, можно легко обрабатывать случаи, когда функция или элемент не найдены в классе JavaScript, и выдавать соответствующие ошибки для удобства отладки и обработки.