저는 1800 라인 프로젝트를 스프레드 시트 스크립트 편집기에서 12 개의 '파일'로 나누었습니다. 찾기 기능은 활성 파일 내에서만 보입니다.스크립트 편집기/파일
어쨌든 글로벌 검색을 수행 할 수 있습니까?
프로젝트 내의 파일과 관련하여 오류가 발생하면 줄 번호가 참조되지만 파일 이름은 참조되지 않습니다.
어떤 파일에 오류의 원인이되는 행이 포함되어 있는지 확인하는 방법이 있습니까?
감사 댄
저는 1800 라인 프로젝트를 스프레드 시트 스크립트 편집기에서 12 개의 '파일'로 나누었습니다. 찾기 기능은 활성 파일 내에서만 보입니다.스크립트 편집기/파일
어쨌든 글로벌 검색을 수행 할 수 있습니까?
프로젝트 내의 파일과 관련하여 오류가 발생하면 줄 번호가 참조되지만 파일 이름은 참조되지 않습니다.
어떤 파일에 오류의 원인이되는 행이 포함되어 있는지 확인하는 방법이 있습니까?
감사 댄
글로벌 발견 할 수있는 방법이 없습니다. 찾기는 현재 파일을 볼 것입니다.
http://code.google.com/p/google-apps-script-issues/issues/detail?id=822
가 이동하십시오 그것을 투표를 스타 : 나는 거기 찾기를하고있는 이슈 트래커에서, 전체 프로젝트를 횡단 내가 제출 한 것이라고 교체하고 2011 년 9 월 다시 발행해야한다고 동의 이 문제에 대한 진행 상황을 통보받습니다.
오류 메시지와 함께보고되는 파일 이름의 문제도에서 이슈 트래커에서 제기 된: 당신이 오류를 시도-잡을 필요가 오류를 발생시킨 파일을 확인하려면
http://code.google.com/p/google-apps-script-issues/issues/detail?id=747
stacktrace를 구문 분석하십시오. 글로벌 발견에 대해
function yourCallingfunction() {
try {
//do your thing
} catch(err) {
stack = parseErr_(err)
Logger.log(stack);
throw stack;
}
}
//Try to parse errors stacktrace into a nicer format
function parseErr_(e) {
var ret;
if(e !== undefined && e !== null && e.stack) {
ret = e.name +': '+e.message+' \nStacktrace: \n';
var stack = e.stack.replace(/\n/g,'').match(/:\d+(\([^\)]+\))?/g);
for(var i in stack)
ret += stack[i].replace(/[\(\):]/g,'').split(/ /).reverse().join(':') + ' \n';
} else
ret = e;
return ret;
}
, 문제는 발견되는 경우, 대체하지, 너무 해결 방법이있다 : 여기서 내가 할 것입니다. 이것 좀 봐 :
function showMe() {
for(var i in this)
Logger.log(this[i].toString());
}
그러나 이것은 실제 해결책이 아닙니다. @ScampMichael과 연결된 문제에 별표를 표시해야합니다.
이것은 매우 흥미로운 코드입니다. 감사합니다. Henrique! 나는이 몇 줄의 코드에서 많은 것을 배웠다. 나는 이것과 관련된 두 가지 이슈를 주연시켰다. – Dan
@Henrique 왜 당신은 스택을 던져 버리고 당신이 잡은 잘못을 던지지 않습니까? –
@PeterHerrmann 그래서 스택을보기 위해 스크립트 로그를 열 필요가 없습니다. 메시지 바로 위에 있습니다. 당연히 스택에서만 마지막 함수에서이 작업을 수행 할 때 오류가 발생합니다. 내 트리거와 "완료된"스크립트에서는 대개 나에게 이메일을 보내고 현재 얻을 수있는 모든 상태를 이메일로 보냅니다. –
감사합니다. ScampMichael! 나는 둘 다 주연했다. – Dan