Zero

Zero
Zero

18 noviembre 2005

Programación por contrato

Zero, a través de su lenguaje de programación de alto nivel Prowl, soporta ya programación por contrato.

---

object ProgrPorContrato

method + dividir(a, b)
{

requires {
assert( a isInstanceOf Int, "Dividendo no numérico." );
assert( b isInstanceOf Int, "Divisor no numérico." );
assert( b != 0, "Divisor no puede ser 0" );
}

enforce {
assert( toret isInstanceOf Int, "Resultado no numérico (?)" );
}

reference toret;

toret = a / b;
return toret;

onException( e ) {
if ( e isInstanceOf EAssert ) {
System.console.write( e.getMessage() );
}
else System.console.write( "FATAL: Error interno" );
}
}
endObject

No hay comentarios: