Я разрабатываю проект с использованием Node.js на резервной стороне, при этом я также использую JSON для передачи данных клиентам и от клиентов через веб-сокеты. У меня проблема в том, что если на сервер была отправлена недопустимая строка (это легко сделать пользователем, который возился с консолью JavaScript), это привело бы к сбою сервера при попытке его синтаксического анализа.
Текущий метод, который у меня есть для предотвращения этого, использует оператор try / catch.
У меня вопрос: есть ли более правильный способ проверить, можно ли разобрать строку? Кроме того, является ли использование операторов try / catch хорошей практикой или они предназначены только для отладки?
Спасибо.
Использование try/catch необходимо для создания надежного кода во многих средах, что очень важно для корректной обработки ошибок.
Однако всякий раз, когда вы принимаете данные из внешнего источника, вы должны подтвердить их, чтобы убедиться, что вы не открыли вектор атаки.
В этом модуле node есть несколько элементов JSON, включая схему JSON, которые могут быть полезны: https://github.com/kriszyp/json-schema