2016-09-23 8 views
0

変数にaliasErrorという変数を宣言し、その変数にtry/catchブロックを使用してキャッチしたエラー値を格納しようとしました。catch JavaScript内の変数にアクセスできません

しかし、キャッチブロック内のその変数にアクセスすることはできません。私はtryブロックとtry/catchブロックの外側でアクセスできます。

これがjavascriptかgoogle-apps-scriptの問題かどうかはわかりません。私はこの問題を克服するにはどうすればよい

function onFormSubmit(e) 
{ 
    //...........// 
    var aliasError;  // VARIABLE DECLARED 


    // CREATE UPDATES IN GMAIL 
    // 1. ALIASES 
    // do we need a new account and if not, then the latest account 
    var conciergeStatus = getConcierge(); 
    var newAccountNeeded; 
    parseInt(conciergeStatus[0]) == 1 ? newAccountNeeded = true : newAccountNeeded = false; 
    if(newAccountNeeded) 
    { 
    //..........// 
    } 
    else 
    { 
     var conciergeAccount = conciergeStatus[2]; 
     conciergeAccLog = conciergeAccount; 
     Logger.log("*******************UPDATING CONCIERGE ACCOUNT************************"); 
     Logger.log(conciergeAccount["name"]); 
     var aliases = conciergeAccount["aliases"]; 
     var userEmail = conciergeAccount["primaryEmail"]; 
     conciergeEmail = userEmail; 
     var alias = { 
     alias: responseMap["Alias email"] 
     }; 
     Logger.log(userEmail); 
     Logger.log(alias); 


     aliasError = "No error"; // VARIABLE ACCESSED SUCCESSFULLY 
     try 
     { 
     aliasError = "No error"; // VARIABLE ACCESSED SUCCESSFULLY 
     AdminDirectory.Users.Aliases.insert(alias, userEmail); 
     } 
     catch(err) 
     { 
     aliasError = err; // VARIABLE ACCESS FAILED 
     } 
     Logger.log(aliases); 
    } 
    //..............// 
} 

:ここ

は、スニペットのですか?

+0

本当に拒否されていますか? "ここでエラー"のようなものを割り当てて、値が設定されているかどうかを確認しようとしましたか? catchブロックの後にこの変数の内容をどのようにチェックしますか? –

+0

Googleスクリプトエディタは、状態に応じて割り当ての色を変数に変更します。新しい宣言はダークブルー、有効な変数アクセスはライトブルー、黒は未定義変数です。 'aliasError'は' try'では明るく、 'catch'では外ですが' catch'の中では黒です。 –

答えて

1

catchステートメントの代入行をconsole.log(aliasError)に置き換えようとすると、その色が変更されますか?次のコードは、catchステートメントで非常によくアクセスできるようにする変数を示します原因:エディタでの状態の解像度を有する

function x(){ 
var aliasError = 10; 
    try 
     { 
     aliasError = "No error"; // VARIABLE ACCESSED SUCCESSFULLY 
     xx=yy; 
     } 
     catch(err) 
     { 
     aliasError = err; // VARIABLE ACCESS FAILED 
     } 
console.log(aliasError) 
} 

x(); 

は簡単な作業ではありません。私はGoogleのエディタを使ったことはありませんが、私はエディタのコード分析に100%の信頼を置いていません。

関連する問題