-
-
Save vsim1964/51d00f53a4fb6a83f1e326115b423d6b to your computer and use it in GitHub Desktop.
ОШИБКИ В JAVASCRIPT
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
`throw` - это оператор в языке программирования JavaScript, который используется для генерации исключений (ошибок) | |
во время выполнения программы. Он не является методом, функцией, конструктором или классом. | |
Оператор `throw` позволяет явно создать исключение в вашем коде, чтобы сообщить о какой-либо проблеме или ошибке. | |
Когда `throw` вызывается, выполнение кода в текущем блоке прерывается, и программа начинает искать ближайший блок | |
`try-catch` для обработки этого исключения. | |
*/ | |
function divide(a, b) { | |
if (b === 0) { | |
throw new Error("Деление на ноль недопустимо."); | |
} | |
return a / b; | |
} | |
try { | |
const result = divide(10, 0); | |
console.log("Результат:", result); | |
} catch (error) { | |
console.error("Произошла ошибка:", error.message); | |
} | |
/* | |
В этом примере, если в функцию `divide` передать `b` равное нулю, будет сгенерировано исключение с помощью `throw new Error(...)`. | |
Затем это исключение будет поймано блоком `catch`, который позволяет обработать ошибку без завершения программы. | |
*/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
console.log("Программа начинается"); | |
try { | |
console.log('Код с кострукцией try-catch'); | |
// Попытка выполнить код, который может вызвать ошибку | |
let result = someUndefinedVariable + 10; | |
console.log(result); // Этот код не выполнится из-за ошибки | |
} catch (error) { | |
// Обработка ошибки | |
console.error("Произошла ошибка:", error.message); | |
console.error("Стек вызовов:", error.stack); | |
} | |
console.log("Программа продолжает работу"); | |
/* | |
Когда вы используете try-catch, вы можете: | |
1. Предоставить более информативное сообщение об ошибке: Вы можете создавать более человеко-читаемые и | |
информативные сообщения об ошибках для ваших пользователей, вместо технических деталей, которые могут | |
быть не понятными. | |
2. Предпринять действия для коррекции: В блоке catch вы можете выполнять код, который помогает избежать | |
ошибки или восстановиться после неё, если это возможно. Например, можно использовать запасной вариант | |
данных, если чтение данных завершилось ошибкой. | |
3. Записать ошибки: Конструкция try-catch позволяет вам записывать ошибки в логи или отправлять их на | |
удалённый сервер для анализа, что может быть полезно для диагностики и улучшения вашего программного продукта. | |
Пожалуйста, помните, что использование error.stack может предоставить детальную информацию о стеке вызовов, | |
но в реальных приложениях на продакшене, для безопасности, лучше избегать вывода полного стека ошибки пользователю, | |
так как это может предоставить ненужную информацию злоумышленникам. | |
*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment