タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

TSと例外処理に関するdorapon2000のブックマーク (2)

  • neverthrow で局所的に Result 型を使い、 try-catch より安全に記述する

    Result 型 (類似するものとして Either Monad の方が有名かもしれません) を導入する場合、アプリケーション全体の設計を変えたり、全箇所を書き換える必要はありません。 neverthrow は部分的に使用でき影響範囲も閉じるので、局所的に使い始めることができます。 (Rust のような) Result 型 とは ざっくり言うと関数の処理の結果と成否を 1 つの型 Result<T, E> で表したものです。(T は期待する結果の型、 E はエラーを表現する型) 筆者は詳しくはないのですが、 Haskell 等にある Either<L, R> とは厳密には違うようです(Either は両方の値が使用可能であることを前提としている?) 参考: Rust ではなぜ、Either 型ではなく Result 型を採用しているのか neverthrow とは TypeScript

    neverthrow で局所的に Result 型を使い、 try-catch より安全に記述する
    dorapon2000
    dorapon2000 2024/05/13
    “neverthrow とは TypeScript で Result 型を実現するためのライブラリです。”
  • 私がthrowを使わない理由

    この記事について JavaScriptではthrow文という文を使うことで例外を投げることができます。 このthrow文ですが、私はレビューなどで例外を投げないでくださいというコメントをするのですがその理由とどのようにコードを変更すればよいのか、ということを書いておこうと思いました。 前提条件 この記事の内容は下記の条件を前提として書き進めていきます。 TypeScriptを採用していること フロントエンド開発の場合 Node.jsを利用したサーバーサイドのコードやCLIツールの開発、各種ライブラリの開発については記事の対象に含まれないことをご了承下さい。 結論 先に結論から書いておくとTypeScriptを利用している場合例外はカスタムエラーを返却するか、Result型を利用するのがよいと思っています。 次の章からサンプルコードを用いながらthrow文を使った実例と、代替え案について記

    私がthrowを使わない理由
    dorapon2000
    dorapon2000 2023/09/29
    “このように例外を投げるのではなく、エラーを返却することにより利用側ではError型が含まれるため失敗する可能性のある関数であることが分かります。”
  • 1