たとえば、次の URL を見てください: https://api.eveonline.com/eve/CharacterID.xml.aspx?names=Khan
xml2js node.js モジュールを使用すると、見栄えはよくありませんが、その XML を解析できます。
var CharacterID = response.eveapi.result[0].rowset[0].row[0].$.characterID;
行セット [0]が定義されていなかったため、アプリは 2 週間の実行後にクラッシュしました。それ以前は、eveapiが定義されていないためにクラッシュしていました。真剣に、愚かな未定義のオブジェクトエラーが原因でサーバーがクラッシュするのを防ぐためだけに、 if-elseをこのようにする必要がありますか?
if (!response.eveapi ||
!response.eveapi.result[0] ||
!response.eveapi.result[0].rowset[0] ||
!response.eveapi.result[0].rowset[0].row[0]) {
return res.send(500, "Error");
該当する場合の明らかなif (err) return res.send(500, "Error");
エラー処理以外に、未定義エラーの一般的な慣行は何ですか?