View Single Post

   
  #1 (permalink)  
Old 05-07-2008, 10:18 AM
Wright, George
 
Posts: n/a
Default function exception

While writing a date validation function, I'm not sure which condition
to check for in the following exception handler.





CREATE OR REPLACE FUNCTION IsValidDateTime(timestamp with time zone)
RETURNS BOOLEAN AS $$

BEGIN

PERFORM CAST($1 AS TIMESTAMP WITH TIME ZONE);

RETURN TRUE;

EXCEPTION WHEN INVALID_DATETIME_FORMAT THEN

RETURN FALSE;

END

$$ LANGUAGE 'plpgsql';





If I call it this way: SELECT IsValidDateTime('2008-05-06 00:00:95');




I would expect it to return FALSE but it returns:

ERROR: date/time field value out of range: "2008-05-06 00:00:95"



Is there either a specific error code to use or is there a generic catch
all code? I didn't see anything better listed at
http://www.postgresql.org/docs/8.0/s...-appendix.html



Thanks.


Reply With Quote