-
Notifications
You must be signed in to change notification settings - Fork 312
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: errorToMessageの文面をいい感じにし、テストも追加する #2556
base: main
Are you sure you want to change the base?
The head ref may contain hidden characters: "chore--errorToMessage\u306E\u6587\u9762\u3092\u3044\u3044\u611F\u3058\u306B\u3057\u3001\u30C6\u30B9\u30C8\u3082\u8FFD\u52A0\u3059\u308B"
chore: errorToMessageの文面をいい感じにし、テストも追加する #2556
Conversation
🚀 プレビュー用ページを作成しました 🚀 更新時点でのコミットハッシュ: |
electronのプロセス間通信時のエラーはmessageのみがデシリアライズされるので、causeやAggregateErrorは無効になることがわかりました 😇 ipcMain.handleでawaitしてthrowし直す手があるけど、こうするとエラーメッセージの1行目に勝手にメッセージが追加されるっぽいです。。。
|
6c7682c
to
2298e9f
Compare
@sevenc-nanashi さんと相談し、一度オブジェクトにくるんでelectronのIPC通信を越える案で行けそうな感じになりました! であればこのプルリクエストは結構効果的だと思うので、PRにする方針で進めていこうと思います。 |
実際に まあ、エラーの詳細がユーザーにちょっとわかりにくい形で伝わってくることもあるので、良いのかダメなのか若干判断しづらいですが。。。 例:
↓がこういうエラーになったりする
|
どちらかといえば、DisplayableErrorはmessageをそのままにしてそれ以外は「内部メッセージ:{...}」みたいに意図していないことをわかりやすくするみたいなイメージですね。 まぁどちらでも良さそう。 |
なるほどです、たしかに分けるの良いかもですね! |
@sevenc-nanashi ちょっと一旦DisplayableErrorは実装がややこしいから置いといてErrorだけで運用してみて、やっぱりエラーメッセージが分かりづらいとなったら再考するとかでどうでしょう? |
ならひとまずそれで良さそう。 |
ちょっと |
内容
#1086 (comment) で考えたことを実装してみました。
ダイアログでそのままメッセージを表示することを前提に、errorToMessageを少しいい感じにしています。
例えば
new Error("エラーメッセージはあれこれです")
を突っ込むと文字列はエラーメッセージはあれこれです
になります。
例えば
new AggregateError[Error("エラーメッセージ1"), Error("エラーメッセージ2")]
を突っ込むと文字列はになります。
たぶんPromise.allSettledの結果を良い感じにエラーハンドリングできる関数を用意しておけば更に便利なはず。
エラーメッセージをちゃんと整えれば。
関連 Issue
ref #1086
その他
@sevenc-nanashi さんがdiscordで言ってた
DisplayableError
は一旦無しにして、ダイアログを表示しないといけないとこはどんなエラーが来てもダイアログを表示する感じはどうかなぁと。実装したほうが良さそうだったらちょっと検討します。