読者です 読者をやめる 読者になる 読者になる

lessのエラーハンドリングがイマイチ

node.js css

lessけっこういいんだけどエラーハンドリングがイマイチで困る。

@importでファイルがなかった場合process.exit()しちゃう。オーマイガ。
https://github.com/cloudhead/less.js/blob/198f7c9d96c1f70bb800afdd7bda5f2ce0e9d2b1/lib/less/index.js#L115-116

parseはコールバックを取る処理なんだけど、この中でthrowしちゃってる
https://github.com/cloudhead/less.js/blob/198f7c9d96c1f70bb800afdd7bda5f2ce0e9d2b1/lib/less/parser.js#L260-264

ので、エラーハンドリングがこうなる

try {
  less.render(str, function(err, css) {
    if (err) {
      next(new Error('less parse error: ' + err.message));
    }
    else {
      res.send(css);
    }
  });
}
catch (err) {
  next(new Error('less parse error: ' + err.message));
}

なんで同じエラーハンドリング二回やらんといかんねんってなる。残念。