Flutterやろうよ!!! 5 (458レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

248
(1): デフォルトの名無しさん (ワッチョイ a7f4-HpUb) [] 2024/07/02(火) 15:12:30.03 ID:uzy550Vj0(1/4) AAS
http通信回りはあまり詳しくないが。
完全なリストとなると一応こういうことじゃないか?
外部リンク:developer.mozilla.org

Flutterの各種widgetのハンドリングをResultでするとかもまあ、Resultでやるのはあんまり現実的ではなさそうな雰囲気を感じる。
widgetの部分は無理でもフレームワークに依存しない内部の処理の部分はもちろん自分たちが管理する部分なのでResultでできるだろうが。
httpに限って言えばステータスコードで返ってくるからそれをResultにするのは簡単そうだが。

外部の仕様やフレームワークのメソッドに対する完全な例外リストを得ることができるかどうかは、外部次第というか。
まあ、RustのようにResultが言語の機能として盛り込まれているわけではないから、妥協しないといけないところはあると思う。

例外をcatchできてるなら、理論的にはそのタイミングでResultに変換できるということではある。
自分たちが管理してるならいざ知らず、外部で管理されてるやつはねえ、まあ、それをResultでラップし直すのは規模によっては大変だと思うよ。

おれは、基本的に個人開発しかしてないんだけど。
例外リストにヌケモレがあるっていうのは、それはバグじゃないか?
249: デフォルトの名無しさん (ワッチョイ a7f4-HpUb) [] 2024/07/02(火) 15:50:34.15 ID:uzy550Vj0(2/4) AAS
DartでResultをするうえで重要な点を言及していなかった。sealed class の機能があるからResultをする意味が上がる。

sealed class Result<V,E>{...}
final class Success<V,E> extends Result<V,E>{...}
final class Failure<V,E> extends Result<V,E>{...}

switch (result) {
Success():...;
Failure():...;
}

seald class の機能を使えばswitchでSuccessの場合とFailureの場合を強制できる。おれ個人は関数的な書き方ではなく文的な書き方を常用している。理由はreturn文をかけるから(早期returnができる)。ついでにexceptionもこのselad classを使う。

/// {@macro HttpRespons401Exception}
/// {@macro HttpRespons402Exception}
/// ...
sealed class HttpResponsException {...}
/// {@template HttpRespons401Exception}Unauthorized...{@endtemplate}
final class HttpRespons401Exception extends HttpResponsException {...}
/// ...
final class HttpRespons402Exception extends HttpResponsException {...}
/// ...
final class HttpRespons403Exception extends HttpResponsException {...} ...

switch (httpResponsException) {
HttpRespons401Exception():...;
HttpRespons402Exception():...;...
}

final Result<String, HttpResponsException> myHttpGetResult = myHttpGet(...);

厳密ではないが、おれはこんな感じで書いてるよというイメージ。DocCommentをつければmousehoverしたときに詳細がわかる。
251: デフォルトの名無しさん (ワッチョイ a77a-HpUb) [] 2024/07/02(火) 22:39:56.42 ID:uzy550Vj0(3/4) AAS
おれはhttp.getを触る処理をやる予定無いから別に間違っても構わないし深入りはしないけど。
http.getのドキュメントからそれらのexceptionが発生しうる旨は書いてなかったな。
実際にはそれらが発生するならドキュメントの不備じゃね?
まあ、おれは深く触る予定無いからいちいち真偽を調べへんけど。
252: デフォルトの名無しさん (ワッチョイ a77a-HpUb) [] 2024/07/02(火) 22:46:08.54 ID:uzy550Vj0(4/4) AAS
おれ自身の感覚としてはstatusCodeでエラーを表しているものであるなら例外もしくはErrorとしてあつかってもいいと思うけど。
そこらへんの細かいところは実際に管理してる人が責任もってやる領域だと思うので、各々の責任でやってくださいって感じだな。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.024s*