Ver Mensaje Individual
  #8  
Antiguo 14-05-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
DarkByte

Assert es un procedimiento especial de Delphi que se utiliza más que nada para cuando está uno haciendo pruebas con una aplicación. Recibe un parámetro booleano y opcionalmente una cadena de texto. Si el primer parámetro es false Assert genera una excepción indicando la unidad y línea de código en que se produjo.

A diferencia de otras excepciones Assert se utiliza como una herramienta de control del programador. El programador, en un punto dado del código puede pensar que cierta condición debe ser cierta en cualquier circunstancia basado en la forma en que diseñó la aplicación y entonces asegura que tal condición ha de cumplirse (Assert). Si en el transcurso de las pruebas resulta que su afirmación era falsa, saltará la excepción indicándole el punto exacto de manera que le sea fácil revisar el código y hacer las modificaciones necesarias.

Dicho en otras palabras, utilizar Assert es como decir:

"He diseñado el código de tal forma que aseguro que X condición será cierta en este punto y me puedo basar en ello para el resto del código"

Si la aserción falla querrá decir que el código no se ajusta al diseño que el pensaba y tendrá que corregirlo.

Por ello, en el contexto de la respuesta de Paoti, cuando puse

Código Delphi [-]
Assert(Random(StringList.Count) in [0..StringList.Count - 1]);

estaba simplemente utilizando la semántica de Assert para asegurar que el valor de retorno de Random sería un número entero entre 0 y StringList.Count - 1.

Esta es una explicación un poco larga para explicar porque puse Assert pero quería aprovechar para que conocieras algo nuevo de lenguaje.

// Saludos
Responder Con Cita