0
我在函數中聲明瞭一個變量aliasError
,並試圖存儲使用該變量中的try/catch塊捕獲的錯誤值。無法訪問內部變量javascript
但是我無法在catch塊中訪問該變量。儘管我可以在try
區塊和try/catch區塊之外訪問它。
不知道這是一個JavaScript或谷歌應用程序腳本問題。
這裏是一個片段:
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);
}
//..............//
}
如何解決這個問題?
你確定它被拒絕嗎?你有沒有試圖分配「錯誤在這裏」,看看是否設置了值?如何在catch塊之後檢查這個變量的內容? –
Google腳本編輯器根據其狀態將分配顏色更改爲變量。新的聲明是深藍色的,有效的變量訪問是淺藍色,黑色是未定義的變量。 'aliasError'在'try'中是淺藍色,在catch外面是'catch',而在'catch'內是黑色。 –