Проверьте ошибку через instanceof Error перед чтением message: это type guard, который выполняет narrowing типа unknown.
Как безопасно обратиться к ошибке из catch, например чтобы вывести её message? Как называется эта конструкция?
Проверьте ошибку через instanceof Error перед чтением message: это type guard, который выполняет narrowing типа unknown.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Проверьте ошибку через instanceof Error перед чтением message: это type guard, который выполняет narrowing типа unknown.
В JavaScript бросить можно любое значение, поэтому сообщение не гарантировано:
try {
// операция
} catch (error: unknown) {
const message = error instanceof Error
? error.message
: 'Неизвестная ошибка';
console.error(message);
}
Для объектов из другого realm или нестандартного формата может понадобиться структурная проверка. as Error не проверяет значение во время исполнения.
Источник: www.typescriptlang.org.