-
Notifications
You must be signed in to change notification settings - Fork 205
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
FIX: プリセットマネージャーのエラーハンドリングを改善 #1489
FIX: プリセットマネージャーのエラーハンドリングを改善 #1489
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PRありがとうございます!!!
通常はまず起こらない上にそれ以外のOSErrorを捕捉しないので修正します。
たしか存在しないディレクトリに書き込もうとしたときにFileNotFoundError
になりますね!
これが起こり得ないのかどうか判断が難しいですね・・・・・。
プリセットのパスを変えられるので起こりえそう・・・・・?
ただまあもしこのエラーをキャッチしなくても、エラーメッセージがプリセットの設定ファイルが見つかりません
からNo such file or directory: '/プリセットのパス'
に変わるだけで、何が原因かは推察できるからエラーハンドリングの目的(開発者が何が原因か推察できる)は達成できそう・・・?
いやでもちょっとだけ難度上がりますね。。。まーーーあってもなくても良さそうではあるかな・・・!!
あ、from err
ですが、これめちゃめちゃ良いですね!!!!!!!!
ただ適用するなら可能なら全raiseに適用したい気持ちがあります。
もしよければこのPRではただのraiseにしていただいて、別PRで全部from errにしてみませんか・・・!!
けっこう大変なのですが、もしよければ!
個人的な意見ですがInternal Server Errorはエラーの詳細をクライアントに伝えるべきではないような気がします。
例外の内容コンソールに表示した方がいいような気がします。
こちらは完全に仰るとおりだと思います。
今って出るようになってるんでしたっけ、ぜひ改善したいです。
お手数おかけしますが、一旦issueだけ作っていただいても良いでしょうか 🙇
影響範囲小さそうであればいきなりPRでも大丈夫です!!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot reviewed 2 out of 2 changed files in this pull request and generated no suggestions.
プリセットマネージャーの初期化時にプリセットを作成しているので通常は起動に失敗すると思います。
プリセットマネージャーの例外はコンソールには出ませんね。 |
そうなんですよね、発生しなくはないけれども、まあでも発生しないだろうみたいな・・・。 そもそもエラーハンドリングについて考えたんですが、重大なエラーだったらハンドリングしてあげて、そうでもないエラーはまあ何が起こったかわかるぐらいにしておけば良さそうに思いました。
なるほどです! 別のところで同じようなことが起こっていたら、そちらも一緒に変更していただけると・・・! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!!
マージします!
内容
PresetManagerで
FileNotFoundError
を捕捉するように書かれていますが通常はまず起こらない上にそれ以外のOSError
を捕捉しないので修正します。それに伴いエラーメッセージも変更します。
関連 Issue
その他
個人的な意見ですが
Internal Server Error
はエラーの詳細をクライアントに伝えるべきではないような気がします。例外の内容コンソールに表示した方がいいような気がします。
voicevox_engine/voicevox_engine/app/routers/preset.py
Lines 31 to 36 in 581c303