Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Promise.prototype.catch()

この記事は編集レビューを必要としています。ぜひご協力ください

catch()メソッドはPromiseを返します。失敗した場合のみ扱います。Promise.prototype.then(undefined, onRejected)が呼ばれたときと同様に振る舞います。

構文

p.catch(onRejected);

p.catch(function(reason) {
   // rejection
});

引数

onRejected
Promiseが失敗した時に呼ばれるFunction。この関数は一つの引数、reasonを持ちます。

説明

catch メソッドはプロミス構成でエラーを扱うときに役に立ちます。

catch メソッドを使う

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

p1.then(function(value) {
  console.log(value); // "Success!"
  throw 'oh, no!';
}).catch(function(e) {
  console.log(e); // "oh, no!"
}).then(function(){
  console.log('after a catch the chain is restored');
}, function () {
  console.log('Not fired due to the catch');
});

// 以下は、上記と同様に動作します
p1.then(function(value) {
  console.log(value); // "Success!"
  return Promise.reject('oh, no!');
}).catch(function(e) {
  console.log(e); // "oh, no!"
}).then(function(){
  console.log('after a catch the chain is restored');
}, function () {
  console.log('Not fired due to the catch');
});

仕様

仕様 ステータス コメント
ECMAScript 2015 (6th Edition, ECMA-262)
Promise.prototype.catch の定義
標準 ECMA標準における初期定義
ECMAScript 2017 Draft (ECMA-262)
Promise.prototype.catch の定義
ドラフト  

ブラウザ実装状況

機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari
基本サポート 32 32 29.0 (29.0) 未サポート 19 7.1
機能 Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Android
基本サポート 未サポート 29.0 (29.0) 未サポート 未サポート 8 32

関連情報

ドキュメントのタグと貢献者

 このページの貢献者: akiomik, shide55
 最終更新者: akiomik,