• Запись в таблицу mysql спецсимволов?

    ставите ячейке кодировку utf8 и пишете туда любые символы
    Ответ написан
    1 комментарий
  • Node.js (или другие асинхронные фреймворки): А как отлавливать ошибки?

    К node.js имею косвенное отношение, но мне всегда казалось, что:
    • всеми силами надо избегать выброса исключений, а возвращать статус ошибки
    • вызов ассинxорнной функции должен иметь вид:
      asyncFunction(args, function(error, result){})
    И теперь, если перевести эти пункты на ваш код:
    auth.getUser(req, function(error,user) {
      if (error != null){
        handle(res,error);
        return;
      }
      db.getData(function(error,data) {
        if (error != null){
          handle(res,error);
          return;
        }
      res.write(template.render(data));
    });

    Проверки исключений здесь, мне кажется, излишни. Слабое место только template.render(data), надо просто проверить или эта функция бросает исключения. И даже если да, то лучше проверить или объект data валидный перед передачей в render. Пока сам придерживаюсь правила, если в функции для ее нормальной работы надо больше 2/3 if-ов, тогда только try..catch. К сожалению, в Яваскрипте нельзя так гибко обращаться с исключениями как в .NET(печальный вздох). Буду тоже рад если, кто то предложит более конструктивный ответ.
    Ответ написан
    1 комментарий