Как выдать свою ошибку при не нахождении функции/элемента в классе JS?

Ссылка скопирована
1 ответ

Хай народ, сразу благодарю за ответ.
У меня есть класс:

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"?

Если вы спрашиваете, как в своем классе перехватить обращение к несуществующему методу или свойству, то так и надо спрашивать.

  • Сергей delphinpro, Ошибка в тексте
  • Сергей delphinpro, он про синтаксические ошибки кажется..
  • Ответы:

    Ну как, через try catch перехватить

    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Виктор Sys Ответ

    Для того чтобы выдать свою ошибку при не нахождении функции или элемента в классе 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);
    }

    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, и выдавать соответствующие ошибки для удобства отладки и обработки.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно