「エラー」的状態以外で例外を送出するのは「例外の乱用」でしょうか。
例えばJavaScriptのStopPropagation()的なメソッドを実装したい時、
上位の呼び出し元の関数にプロパゲーションをストップしたいことを報告する必要がありますが、
その手段としてPropagationStop例外的な例外型を上位に投げて、それをexceptやらwithのコンテキストマネージャーやらでキャッチして..........みたいなことをやるのは行儀が悪いでしょうか。
別の実装手段としては例えばコンテキストマネージャーの__exit__などで普遍的に認められているような、単純に返り値を用いてFalse値ならXXX,True値ならYYYという方法が考えられますが、やはり直感的でないので忘れてバグになりそうな感がするので一般に認められるならStopProragation()をユーザー定義関数内で呼びだせば伝搬が停止しますよ的なまさに直感そのものの方法を使いたいなと思っています
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。