Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-10-2015
branncg branncg is offline
Miembro
 
Registrado: jun 2015
Posts: 18
Poder: 0
branncg Va por buen camino
mensaje raise Exception.Create('Error Message');

Una ayuda por favor , como tengo que escribir este código?:
raise Exception.Create('Error Message');
intento varias formas pero me sigue saliendo error al compilar
Responder Con Cita
  #2  
Antiguo 13-10-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pon el resto del código fuente y dinos qué error te sale
Responder Con Cita
  #3  
Antiguo 13-10-2015
branncg branncg is offline
Miembro
 
Registrado: jun 2015
Posts: 18
Poder: 0
branncg Va por buen camino
Código Delphi [-]
function CNumeroNatural.digito(posicion: byte):byte;
var aux:cardinal; vez,digito,nrodigitos:byte;
begin
  aux:=valor;
  nrodigitos:=trunc(ln(valor)/ln(10))+1;
  if (posicion>0) and (posicion<=nrodigitos) then
  begin
    vez:=1;
    while aux>0 do begin

      if (nrodigitos+1)-vez=posicion then digito:=aux mod 10;
      aux:=aux div 10;
      vez:=vez+1;
    end;
    result:=digito;
  end
else
  raise CNumeroNatural.Create('Error: FUERA DE RANGO');

end;



el error sale.....[dcc32 Error] CEMNumeroNatural.pas(51): E2034 Too many actual parameters
[dcc32 Fatal Error] F2063 Could not compile used unit 'CEMNumeroNatural.pas'

Última edición por Ñuño Martínez fecha: 13-10-2015 a las 17:44:58. Razón: Etiquetas de código
Responder Con Cita
  #4  
Antiguo 13-10-2015
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Hola branncg. No olvides poner las etiquetas de código, por favor:


En cuanto a tu consulta, sólo puedes lanzar excepciones de clase Exception o derivadas de este. CNumeroNatural no sólo no cumple con dicho requisito, sino que además estoy por asegurar que su constructor no acepta ningún parámetro.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #5  
Antiguo 13-10-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Si, opino del mismo modo.

Creo que en tu caso sería:
Código Delphi [-]
...
  else
    raise ERangeError.Create('Error: FUERA DE RANGO');
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 14-10-2015
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por branncg Ver Mensaje
como tengo que escribir este código?:
Código Delphi [-]
  raise Exception.Create('Error Message');
Bueno, tal y como está el código es correcto y puedes colocarlo donde necesites "levantar" esa excepción.

Las excepciones en Delphi, al igual que cualquier otro objeto son clases y derivan unas de otras.

Si decimos que todos los componentes derivan de TComponent o todos los objetos derivan de TObject, podemos decir que todas las excepciones derivan de Exception (que también deriva de TObject).

De esta forma puedes usar la clase genérica Exception para generar una excepción:

Código Delphi [-]
  raise Exception.Create('Excepción genérica');

O puedes "afinar" más, utilizando otras clases existentes:

Código Delphi [-]
  raise EConvertError.Create('Error al convertir el código de artículo');

O incluso puedes crear tus propias clases para Excepciones de forma similar a como se crea un componentes o cualquier otra clase.

Revisa este artículo para ver en detalle cómo puedes utilizarlas.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Raise exception jocaro Conexión con bases de datos 2 06-03-2012 11:08:38
Exception - mensaje completo Galahad Firebird e Interbase 8 30-12-2008 22:20:35
message de error dpb constant (0) is unknown madmai Conexión con bases de datos 0 10-07-2008 07:20:59
Mensaje de error: Debugger Exception Notification. cesar_gta86 Varios 1 02-07-2008 17:23:57
Para qué usar raise Exception wascar2003 Varios 3 20-11-2007 12:50:15


La franja horaria es GMT +2. Ahora son las 18:46:04.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi