2012-07-30 13 views

cevap

17

Düzenleme: Bu parametre şimdi documented here olduğunu.

200 olmayan bir durum kodu döndüğünde istisnaları devre dışı bırakmak için belgesiz gelişmiş "muteHttpExceptions" seçeneğini kullanabilir ve ardından yanıtın durum kodunu inceleyin. Daha fazla bilgi ve örnek this issue adresinde bulunabilir.

+1

Teşekkürler, istediğim bu, google bunu belgelemelidir. – louis

+0

Teşekkürler, bu özelliği daima unutuyorum. – oshliaer

3

durdurmaz için eg, açamıyorum deneyin catch kullanmak ve catch bloğunda hatayı işlemek

try{ 
    //Your original code, UrlFetch etc 
    } 
    catch(e){ 
    // Logger.log(e); 
    //Handle error e here 
    // Parse e to get the response code 
    } 
+0

Hızlı yanıt için teşekkürler. İstisna olduğunda yanıt kodunun ne olduğunu bulmak mümkün mü? – louis

+0

Hata kodunu almak için ayrıştırabileceğiniz bir hata dizisi alırsınız. –

6

Bu numara UrlFetchApp.fetch() numaralı muteHttpExceptions paramını geçiyor. İşte

bir örnek (denenmemiş): Nedense

var payload = {"value": "key"} 
var response = UrlFetchApp.fetch(
      url, 
      { 
       method: "PUT", 
       contentType: "application/json", 
       payload: JSON.stringify(payload), 
       muteHttpExceptions: true, 
      } 
     ); 
var responseCode = response.getResponseCode() 
var responseBody = response.getContentText() 

if (responseCode === 200) { 
    var responseJson = JSON.parse(responseBody) 
    // ... 
} else { 
    Logger.log(Utilities.formatString("Request failed. Expected 200, got %d: %s", responseCode, responseBody)) 
    // ... 
} 

URL mevcut değilse yine sana öylesine bir hata atıyor gibi görünüyor (örn Kullanmak çalıştığınız hizmet aşağı) hala bir try/catch bloğu kullanmanız gerekebilir.

İlgili konular