:Assertions als Kurzschreibweise für if (!bedingung) throw Exception() sind ein deutlich anderer Mechanismus als assert(). assert() muss immer überflüssig sein, weil es eine besondere Art von Dokumentation ist, die zur Laufzeit überprüft werden kann. assert() ist mit DesignByContract nicht direkt vergleichbar, und wohl auch nicht mit dem, woran Du denkts, wenn Du von Assertions redest. Deswegen halte ich es nciht für sinnvoll, assert() - wie in C, C++ und Java implementiert - und Assertions - die Exceptions werfen - so zu diskutierten, als ob man vom gleichen Konzept sprechen würde. -- kw |
:Assertions als Kurzschreibweise für if (!bedingung) throw Exception() sind ein deutlich anderer Mechanismus als assert(). assert() muss immer überflüssig sein, weil es eine besondere Art von Dokumentation ist, die zur Laufzeit überprüft werden kann. assert() ist mit DesignByContract nicht direkt vergleichbar, und wohl auch nicht mit dem, woran Du denkts, wenn Du von Assertions redest. Deswegen halte ich es nicht für sinnvoll, assert() - wie in C, C++ und Java implementiert - und Assertions - die Exceptions werfen - so zu diskutierten, als ob man vom gleichen Konzept sprechen würde. -- kw |