Объект ошибки в JavaScript имеет несколько стандартных свойств, которые помогают идентифицировать и отлаживать ошибки. Основные свойства: name (тип ошибки), message (сообщение об ошибке) и stack (стек вызовов). Эти свойства позволяют эффективно обрабатывать, логировать и анализировать ошибки в приложениях.
Основные свойства:
Объект ошибки в JavaScript — это специальный объект, который создается при возникновении исключения. Он содержит информацию, необходимую для идентификации, отладки и обработки ошибок. Понимание свойств объекта ошибки критически важно для эффективной обработки исключений.
Свойство name содержит строку с типом ошибки:
try {
throw new Error('Тестовая ошибка');
} catch (error) {
console.log(error.name); // "Error"
}Свойство message содержит текстовое описание ошибки:
try {
throw new Error('Что-то пошло не так');
} catch (error) {
console.log(error.message); // "Что-то пошло не так"
}Свойство stack содержит информацию о стеке вызовов:
try {
throw new Error('Ошибка с трассировкой');
} catch (error) {
console.log(error.stack); // Стек вызовов
}JavaScript предоставляет различные типы ошибок, каждый со своим именем:
function handleError(error) {
console.log(`Тип: ${error.name}`);
console.log(`Сообщение: ${error.message}`);
console.log(`Стек: ${error.stack}`);
}try {
// ... код, который может вызвать ошибку
} catch (error) {
if (error instanceof TypeError) {
console.log('Ошибка типа:', error.message);
} else if (error instanceof ReferenceError) {
console.log('Ошибка ссылки:', error.message);
}
}Свойства ошибки полезны для логирования:
function logError(error) {
const errorInfo = {
type: error.name,
message: error.message,
stack: error.stack,
timestamp: new Date().toISOString()
};
console.error('Произошла ошибка:', errorInfo);
}Можно создавать ошибки с дополнительными свойствами:
class CustomError extends Error {
constructor(message, code) {
super(message);
this.name = 'CustomError';
this.code = code; // Дополнительное свойство
}
}
const error = new CustomError('Пользовательская ошибка', 'ERR_001');
console.log(error.code); // "ERR_001"// ❌ Неправильно
if (error.name === 'TypeError') {
// ...
}
// ✅ Правильно
if (error instanceof TypeError) {
// ...
}Свойство stack критически важно для отладки, его не следует игнорировать.
Понимание свойств объекта ошибки — основа эффективной обработки исключений в JavaScript. Эти знания помогают создавать более надежные и отлаживаемые приложения.
Какие свойства будут у объекта ошибки в этом примере и что они будут содержать?
try {
const obj = null;
console.log(obj.property);
} catch (error) {
// Какие будут значения у error.name, error.message, error.stack?
}Ответ: У объекта ошибки будут следующие свойства:
error.name — “TypeError” Ошибка возникает при попытке доступа к свойству null
error.message — “Cannot read property ‘property’ of null” (точный текст может отличаться в зависимости от браузера)
error.stack — Стек вызовов, показывающий путь к ошибке Содержит информацию о том, в какой строке и файле произошла ошибка
Объяснение:
Понимание этих свойств позволяет:
Хотите больше статей для подготовки к собеседованиям? Подписывайтесь на EasyAdvice, добавляйте сайт в закладки и совершенствуйтесь каждый день 💪