![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
#1
|
||||
|
||||
Cita:
![]() Me explico, si tenemos esto:
y "Objeto" no es de la clase TEsteObjeto (o una descendiente), se genera una excepción y la siguiente linea de código a esta no se ejecuta (como ocurre con todas las excepciones). ![]() |
#2
|
||||
|
||||
Hola,
Pues sí... así es... pero, yo no llamaría a eso una "condición", entendiendo como condición algo como esto:
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. Última edición por dec fecha: 02-01-2008 a las 15:26:04. |
#3
|
||||
|
||||
Cita:
No tengo delphi a mano, pero se me ocurre que podes comprobarlo de manera sencilla (por favor, corregí vos por mi los errores de sintaxis que pudiera haber:
Espero que funcione como yo lo espero ![]() Hasta luego. ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#4
|
||||
|
||||
Hola,
Creo que funciona tal como esperas Juan Antonio. Sin embargo, sigue sin quedarme claro todo este asunto. No creo que "la gracia" esté en que algo así no compile, directamente:
En esto me debe pasar como en tantas cosas, que, como no las conozco, ignoro su posible utilidad... |
#5
|
||||
|
||||
Algo así compilaría... la ventaja es que estas seguro de obtener una excepción en caso de no corresponder la clase.
Por ejemplo:
Hasta luego. ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#6
|
||||
|
||||
Hola,
Eso digo. Pero por el tema de tener una excepción más oportuna, es decir, que esto otro:
Podría ser problemático, porque el "EAccessViolation" podría venir de otro lado, no del "cast" en cuestión. ¿No? ![]() Aún así me sigue sin entrar lo de la "condición" de que hablaba Seoane. ¿Dónde está la condición? En ambos casos se produce una excepción, salvo que son distintas excepciones. ¿No? Pero, si uno quiere una condición tiene que recurrir al operador "is", ¿o me equivoco? |
#7
|
||||
|
||||
Cita:
![]() Cita:
Hasta luego. ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Operador LIKE | eldiegofg | SQL | 2 | 24-08-2007 23:30:59 |
Operador LIKE en access | maurogambo | Tablas planas | 5 | 06-09-2006 14:20:42 |
Operador IS | Aztaroth | C++ Builder | 8 | 04-08-2004 14:44:27 |
Operador *= | febito | SQL | 1 | 09-06-2004 21:26:43 |
Operador @ | Tanix | PHP | 2 | 27-10-2003 10:07:14 |
![]() |
|