chore: DisplayableErrorを追加し、テストも追加する #2559
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
内容
errorToMessageを改造し、
DisplayableError以外のエラーは
(内部エラーメッセージ)
として、DisplayableErrorのエラーはユーザー向けのメッセージとして文字列化するようにします。
ついでにAggregateErrorやcauseなどもメッセージ化できるようにします。
の改造版で、DisplayableErrorも追加します。
関連 Issue
ref #2556
その他
都合が良かったので
errorToMessages
も作りました。IPC通信を通すときはこっちを使い、
displayable
なものとinternal
なものを分離してシリアライズ化して通信し、new DisplayableError(displayable, { cause: new Error(internal) })
とする予定です。ちなみに
DisplayableError
以外の名前を検討したけど良いのが見つかりませんでした。AIくんは
UserError
推しだけど、これだとユーザー入力のエラーに見える。。https://chatgpt.com/share/67bc5a21-71d0-8008-9711-c532c1d300b3
https://x.com/i/grok/share/bNQSK5cxxKMj7M2OvYcZbSZUn