Nun, wenn der Wert nicht = 0 ist funktioniert es, wenn der Wert gleich 0 ist stürzt die gesamte Engine ab.
Genau so ist, das ist die Konsequenz. Nun crashed die Engine. Der Entwickler sieht nun in welcher Zeile welcher check fehlgeschlagen hat und nun kann das repariert werden. Ziel erreicht oder nicht? Wenn du nicht möchtest, dass die Engine crashed kannst du ensure nutzen.
Try... Catch funktioniert nicht, weil die Engine keine Exceptions benutzt, was dann mein gewohntes Umfeld wäre. Also bleibt wirklich nur das, was ich von Anfang an gemacht habe.
Check und ensure empfinde ich da in jedem Fall als überlegen. Ich verstehe nicht wieso die selber basteln müssen. Die asserts sind ideal zum Absichern der Annahme in der Methode und bieten umfangreiche Möglichkeiten.
Kannst du genauer beschreiben was dich stört?