>

여전히 JavaScript 및 Google 앱 스크립트를 처음 사용하며, 'Try/Catch'문을 사용하려고하는 것은 이번이 처음입니다.

페이지에 연결하는 스크립트를 실행하고 있습니다. 대부분의 경우 문제없이 연결되지만 때로는 응답하지 않고 http 오류가 발생합니다 (또는 응답이 비어 있습니다). 오류 코드가 표시되면이 응답을 두 번째로 실행하려고 시도/잡기를 원하지만 구문을 이해하는 데 100 % 확실하지 않습니다. 어떻게 형식화하든 예외가 발생하지 않습니다. 또는 항상 던집니다.

실험 해 본 샘플 코드는 다음과 같습니다.

function myFunction() {
  var response =  UrlFetchApp.fetch("google.com"); 
  Logger.log('Response Code: ' + response.getResponseCode());
try {if(response.getResponseCode() === 200);
} catch (err) {
    throw 'Page connected';
}
}

이 작업을 수행 할 수 있다면 나머지를 알아낼 수있을 것입니다. 그러나 로그에 HTTP 응답이 200으로 표시되어 있어도 '페이지 연결됨'오류가 발생하지 않습니다.

다른 사람이 나를 안내 할 수있는 경우 :

1) 이것이 내가 원하는 것을 달성하는 올바른 방법입니까, 아니면 다른 것을 시도/잡기입니까?  2) 올바른 구문.

정말 감사합니다.


  • 답변 # 1

    getResponseCode  예외를 던지지 않지만 fetch  예외가 발생하므로 try 에 포함하십시오.  차단 :

    function myFunction() {
      try {
        var response =  UrlFetchApp.fetch("google.com"); 
        Logger.log('Response Code: ' + response.getResponseCode());
        if(response.getResponseCode() === 200) {
          // something
        }
      } catch (err) {
          // handle the error here
      }
    }
    
    

  • 답변 # 2

    오늘날, muteHttpExceptions 를 넣을 수 있습니다   options 의 매개 변수  와이즈 비츠 . HTTP 예외를 음소거합니다.

    그러면 UrlFetchApp.fetch(url, options) 가 필요 없습니다  -응답 코드가 올바른지 확인하십시오.

    try catch

관련 자료

  • 이전 python - xml 하위 노드를 효율적으로 탐색하는 방법은 무엇입니까?
  • 다음 jquery - jssor는 div 내에 이미지를 완전히 맞습니다