デバッグ時にassertを使うのはよくやりますが、これだとassertが埋め込まれた
個所の呼び出し元までは特定できませんよね。
それでassertを呼ぶ代わりに例外を発生させるようにしてデバッグしてるのですが
これはやらないほうがいいんでしょうか?

後に本当に発生すべき例外だと分かって、かつ戻り値の変更が難しい場合は
正規のコードとして残す事も考えてます。