Closure Compilerを使用すると、高度なモードでコンパイルすると次のエラーが発生します: (シンプル モードとホワイトスペースのみのモードでは、コードはまったく問題になりません)。
JSC_REDECLARED_VARIABLE: Redeclared variable: e at line 31 character 9
} catch (e) {
^
JSC_REDECLARED_VARIABLE: Redeclared variable: e at line 34 character 9
} catch (e) {
^
Closure Compiler によってエラーとして記述されるコードは次のとおりです。
function getXMLHttp() {
var xmlHttp;
try {
xmlHttp = new XMLHttpRequest();
} catch (e) {
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
return false;
}
}
}
return xmlHttp;
}
詳細モードを使用しているときにこの問題が発生する理由はわかりません。コンパイラがこれもエラーであると言う理由がわかりません。
(簡単な注意: このコードは、IE を処理するためのエラー キャッチ処理で PHP ファイルを要求する単純な XML 要求です。私の JavaScript コードはすべて正常に動作します。)