MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

Esta tradução está incompleta. Por favor, ajude a traduzir este artigo.

O método catch() retorna uma Promise e lida apenas com casos rejeitados. Ele possui o mesmo comportamento de quando chamamos Promise.prototype.then(undefined, onRejected).

 

Sintaxe

p.catch(onRejected);

p.catch(function(motivo) {
   // rejeição
});

Parametros

onRejected
Uma Function chamada quando a Promise é rejeitada. Esta função possui um argumento, o motivo da rejeição.

Description

O método catch pode ser útil para manipulação de erros na composição da sua promise.

Exemplos

Usando o método catch

var p1 = new Promise(function(resolve, reject) {
  resolve('Sucesso');
});

p1.then(function(value) {
  console.log(value); // "Sucesso!"
  throw 'Ah, não!';
}).catch(function(e) {
  console.log(e); // "Ah, não!"
}).then(function(){
  console.log('Após um catch, a sequencia é restaurada');
}, function () {
  console.log('Não engatilhado devido ao catch');
});

// O seguinte se comporta da mesma maneira que o anterior
p1.then(function(value) {
  console.log(value); // "Sucesso!"
  return Promise.reject('Ah, não!');
}).catch(function(e) {
  console.log(e); // "Ah, não!"
}).then(function(){
  console.log('Após um catch, a sequencia é restaurada');
}, function () {
  console.log('Não engatilhado devido ao catch');
});

Especificações

Especificação Status Comentário
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Promise.prototype.catch' in that specification.
Standard Initial definition in an ECMA standard.
ECMAScript 2017 Draft (ECMA-262)
The definition of 'Promise.prototype.catch' in that specification.
Draft  

Compatibilidade dos browsers

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 32 29.0 (29.0) Não suportado 19 7.1
Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support Não suportado 29.0 (29.0) Não suportado Não suportado 8 32

Veja também

Etiquetas do documento e colaboradores

 Colaboradores desta página: vvinhas
 Última atualização por: vvinhas,