記事へのコメント20

    • 注目コメント
    • 新着コメント
    door-s-dev
    door-s-dev throwsとかないもんね。とはいえ呼び出し階層深くなった場合のエラーハンドリングで使いたいこともありそうだし設計次第かな

    2023/09/29 リンク

    その他
    IzumiSy
    IzumiSy Elmがこの思想なので理想としては同意だけど、これをTypeScriptでやりはじめるとlintルールとかでガチガチにしないといけなかったりするのが微妙。

    2023/09/29 リンク

    その他
    trace22
    trace22 JSDoc 使うだけだけど値で型を見分けてくれるおかげで安心感はあるかな。環境の都合で例外使わないのだけど、大体のエラーは何もできないので大域脱出したほうが見通しよくなるだろうなと思う。

    2023/09/29 リンク

    その他
    dorapon2000
    dorapon2000 “このように例外を投げるのではなく、エラーを返却することにより利用側ではError型が含まれるため失敗する可能性のある関数であることが分かります。”

    2023/09/29 リンク

    その他
    z67kjh
    z67kjh 「レビューなどで例外を投げないでくださいというコメントをする」というのはプロジェクトで決めてるけどLinterにルールがなかったりするからじゃないかな。コミットフックでいくらでも対策できるとは思うけど…

    2023/09/29 リンク

    その他
    ka-ka_xyz
    ka-ka_xyz typescriptの最大の弱点が例外周りだと思ってる。throwsで「明示的にスローされる可能性のある型」が定義出来ないのつらいし、非同期処理との相性も悪い(握りつぶされる)。Result型も外部packageを呼ぶときの面倒さがあり。

    2023/09/28 リンク

    その他
    twotiger
    twotiger このさコードレビューで突然「このthrow文ですが、私はレビューなどで例外を投げないでくださいというコメントをする」とか言い出すのレスバトル勃発だよ。それレビューじゃなくてプロジェクトの立ち上げに決めといて

    2023/09/28 リンク

    その他
    umai_bow
    umai_bow ライブラリやブラウザAPIがthrowするし、Promiseもrejectするし、アプリケーションレベルで徹底したところで別に……と思ってしまう……。

    2023/09/28 リンク

    その他
    fuji_haruka
    fuji_haruka わかるしそうしたいが、標準ライブラリがそうなっていないのとResultモナドのインターフェイスを持つライブラリに依存しなきゃならなくなるので、決断には勇気がいる

    2023/09/28 リンク

    その他
    baronhorse
    baronhorse 色々な言語が通った道だと思うけど標準ライブラリやサードパーティライブラリが投げてくる以上後付けのResultやらEitherは問題をややこしくするだけだと思ってる

    2023/09/28 リンク

    その他
    dev0000_1
    dev0000_1 対象外だが、サーバー側が catch を前提にしていることが多くて、それに歩調を合わせるのが多いのかしら。

    2023/09/28 リンク

    その他
    fukken
    fukken 開発時に想定できるようなもの(ネットワークリクエストの失敗とか)は「例外」ではない、みたいな設計手法論は例外を多用する言語(Javaとか)では結構見る。

    2023/09/28 リンク

    その他
    mole-studio
    mole-studio status4xxでthrowしてくる仕様にはいつまでも納得がいかない

    2023/09/28 リンク

    その他
    atsushieno
    atsushieno JSはthrowを無理に使わないようにする言語じゃないと思うけど、使用分野によるのかもねえ。普遍的には受容できない考え方だ。

    2023/09/28 リンク

    その他
    turanukimaru
    turanukimaru JS/TypeScript だと他の人が catch してくれることが期待できないのと async await と相性が悪いというか非同期で他の人が正しくcatchしてくれることがまったく期待できないので失敗時のデータをなんとかこねくりだして返してる。

    2023/09/28 リンク

    その他
    gfx
    gfx JavaScript/TypeScriptでthrowをあまり使わないというのは同意するけど、全く使うべきでないとも思わなくて「catchしない前提」、つまりRustやGoでいうところのpanic的な意味で使うのがいいと思ってる。

    2023/09/28 リンク

    その他
    queeuq
    queeuq 非検査例外ならthrowすればいいし検査例外についてはResultかな。

    2023/09/28 リンク

    その他
    canadie
    canadie Typescript 使わないけどパッと見バッドノウハウだよなあ。逆に呼び出し側で処理しきれない例外は呼び出し側がまたreturn Error()してさらにその呼び出し側が…って循環が生じるわけでしょ。単一責任の法則に反しているかと

    2023/09/28 リンク

    その他
    hase0510
    hase0510 RustのResult<T, E>が欲しいという人は各所におり、他の言語でもそれっぽいライブラリが見つかったりする/楽な記法ができるユーティリティが整備されてるかが重要で、この記事みたいにreturnだけで4行も書くのは嫌だよね

    2023/09/28 リンク

    その他
    tattyu
    tattyu returnで返すの型が緩い言語でしか出来ないトリックだな。例外投げるかどうか毎回チェックするのダルいし真面目に細かくtry/catchし始めるとめちゃくちゃ見通しが悪くなるの言語側でなんとかして欲しい。

    2023/09/28 リンク

    その他

    注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

    アプリのスクリーンショット
    いまの話題をアプリでチェック!
    • バナー広告なし
    • ミュート機能あり
    • ダークモード搭載
    アプリをダウンロード

    関連記事

    私がthrowを使わない理由

    この記事について JavaScriptではthrow文という文を使うことで例外を投げることができます。 このthrow...

    ブックマークしたユーザー

    • techtech05212024/06/08 techtech0521
    • msm_k2024/05/31 msm_k
    • fivestech2024/02/26 fivestech
    • kazuhe2023/10/29 kazuhe
    • xmori552023/09/30 xmori55
    • toyama_gf2023/09/29 toyama_gf
    • Windymelt2023/09/29 Windymelt
    • jyuze2023/09/29 jyuze
    • ryshinoz2023/09/29 ryshinoz
    • rskull2023/09/29 rskull
    • door-s-dev2023/09/29 door-s-dev
    • Galbo2023/09/29 Galbo
    • IzumiSy2023/09/29 IzumiSy
    • satoshie2023/09/29 satoshie
    • for-my-internet-demo2023/09/29 for-my-internet-demo
    • trace222023/09/29 trace22
    • dorapon20002023/09/29 dorapon2000
    • z67kjh2023/09/29 z67kjh
    すべてのユーザーの
    詳細を表示します

    同じサイトの新着

    同じサイトの新着をもっと読む

    いま人気の記事

    いま人気の記事をもっと読む

    いま人気の記事 - テクノロジー

    いま人気の記事 - テクノロジーをもっと読む

    新着記事 - テクノロジー

    新着記事 - テクノロジーをもっと読む

    同時期にブックマークされた記事