comp.lang.ada
 help / color / mirror / Atom feed
* exception propagation for a distributed call
@ 2006-03-07 14:54 REH
  2006-03-07 15:19 ` REH
  2006-03-07 16:11 ` Wilhelm Spickermann
  0 siblings, 2 replies; 7+ messages in thread
From: REH @ 2006-03-07 14:54 UTC (permalink / raw)


I need to implement something that has probably already been done
hundreds of times.  I have to implement some distributed calls (i.e.,
across sockets, arinc ports, separate memory partitions, etc.).  I need
to trap any exception that may occur, and re-raise it for the caller,
like CORBA does (though I cannot use CORBA, RPC, etc.).  I also do not
want to replicate a lot of code in each exception block.  What I have
so far is to create a procedure that will take an exception occurence
as a parameter and call it in each exception block at a "when others
=>" arm.  The function returns an enumeration value for the exception
which can be marshalled across and re-raised via a case statement.
What I cannot figure out is how to convert the occurrence in a portable
way so I do not have to use compiler-specific features.  I know I can
convert it to an exception_id, but how do I determine which exception
the id is for?  Is there a way to get the id of an exception without
raising it?  Or, is there a better way 

Thanks,

REH




^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2006-03-07 18:44 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-03-07 14:54 exception propagation for a distributed call REH
2006-03-07 15:19 ` REH
2006-03-07 16:11 ` Wilhelm Spickermann
2006-03-07 16:52   ` REH
2006-03-07 17:37     ` Wilhelm Spickermann
2006-03-07 17:58       ` REH
2006-03-07 18:44     ` Martin Krischik

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