comp.lang.ada
 help / color / mirror / Atom feed
From: tim@trident.datasys.swri.edu (Timothy J. Barton)
Subject: Exception handler question
Date: 11 Mar 93 20:17:34 GMT
Date: 1993-03-11T20:17:34+00:00	[thread overview]
Message-ID: <318@trident.datasys.swri.edu> (raw)

Please help me in my ignorance of Ada exception handlers.  I am using Sun
Ada and am trying to trap the usage of an out of range value being passed
to another program unit.  I have an exception handler with
"when CONSTRAINT_ERROR" and "when others", but the exception handler is not
getting called.  When I run the program in the Sun Ada debugger, I get the
message:

  "Illegal instruction" [4] Software trap: range check

Program execution is halted, I can't single step any further.  In other
cases where I trap an exception, a single step would take me to the
exception hanlder source lines.  If I run the program outside the debugger,
very bad things happen (and happen so fast I can't read the message which
flashes by) and then my program and xterm go away.

Program looks like the following:
---------------------------------

  subtype COLUMN is INTEGER range 0..100;

  procedure example is
  begin
    OtherFunction(  COLUMN(101) );   -- CONSTRAINT error here!
  exception
    when CONSTRAINT_ERROR => do something
    when others           => do something
  end example;

---------------------------------
What am I doing wrong?  Why doesn't my exception handler get called?  Any
help would be greatly appreciated.

----------------------------------------------------------------------------
Timothy J. Barton                         tim@trident.datasys.swri.edu
Senior Research Analyst                   (210) 522-3540
Southwest Research Institute (SwRI)       (210) 522-5499  (Fax)   
San Antonio, Texas  78228-0510



             reply	other threads:[~1993-03-11 20:17 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1993-03-11 20:17 Timothy J. Barton [this message]
1993-03-12 20:01 ` Exception handler question Brian Hanafee
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox