Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Node.js24.x】Promise::try()メソッドの使い方

tryメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

tryメソッドは、同期的な処理や関数呼び出しをPromiseとして実行し、その処理中に発生する可能性のある同期例外を捕捉するために使用されるメソッドです。これにより、同期関数から返された値や、スローされた例外をPromiseチェーン内で一貫して扱うことを目的としています。

しかしながら、Node.js v24の標準組み込みPromiseクラスには、このtryメソッドは直接提供されておりません。この機能は、Bluebirdのような一部のPromiseライブラリで提供されているか、あるいは非同期処理の文脈で同期的なエラーハンドリングパターンを示す際に用いられることがあります。

標準のJavaScript環境で同期処理をPromiseとして安全に扱う場合、通常はPromise.resolve().then(() => { /* 同期処理 */ })のように記述することで、同期処理の結果をPromiseでラップし、同期的に発生するエラーもPromiseの拒否として扱えます。また、async関数を使用できる環境では、async関数内でtry...catchブロックを利用することで、同期的な例外を捕捉しつつ、全体としてPromiseを返す非同期処理として記述することが可能です。このtryという概念は、同期と非同期のギャップを埋めるための便利な手法として理解されます。

構文(syntax)

1Promise.try(() => {
2  // ここに同期的に実行したい処理を記述します。
3  // 例: ファイル読み込みやAPI呼び出し前のデータ整形など。
4  const value = 1 + 1;
5  if (value === 2) {
6    return '計算成功';
7  } else {
8    throw new Error('予期せぬ結果');
9  }
10})
11.then(result => {
12  // 同期処理が成功した場合に実行されます。
13  console.log('Promise 解決:', result);
14})
15.catch(error => {
16  // 同期処理内でエラー(例外)が発生した場合に実行されます。
17  console.error('Promise 拒否:', error.message);
18});

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません

関連コンテンツ