Hola,
Pues sí... así es... pero, yo no llamaría a eso una "condición", entendiendo como condición algo como esto:
Código Delphi
[-]
if Condicion then
begin
end
else
begin
end;
No sé. Es que, tal como yo entendí lo que dijiste (mejor dicho, acaso podría entenderse, por lo que dijiste) que el mismo "as" hará que el "asunto" se ejecute si se cumple la "condición", pero, es que no parece que sea así: se levanta una excepción, la condición "no la evita". Pero, puede que esté desbarrando, ¿eh?
Si lo pienso un poco más, puede que lleves toda (no parte de) la razón, porque la "condición" impide que se siga adelante, y, por tanto, se obtenga una violación de acceso, como ocurre en el otro caso, mas, ¿no es ya la "EAccessViolation" un tipo de excepción? Lo dicho, algo se me escapa en este asunto. Acaso es mejor una que otra excepción... lo ignoro ahora mismo. Una cosa está clara: son distintas excepciones.