>>22
だから例外がある言語でもassertは使うだろ。

assertは関数呼び出し側での引数チェックや、
関数内で引数のチェックが終わったあと
(このチェックに引っかかった場合は例外)で、
正常な引数だから正常に処理されるはず。・・・という状態での
関数の内部の処理のバグ検出で使うもの。