ps i noticed they are still old sources online, but the general principle is
the same, contact me offlist if you'd like the latest sources of that
example.

On 8/14/07, Hans Wichman <[EMAIL PROTECTED]> wrote:
>
> Hi,
> ive implemented this for AS2:
> http://www.objectpainters.com/downloads/globalerrorhandler.zip
>
> Basically, each exception subclasses RuntimeException.
>
> Each time a RuntimeException is created, is it scheduled to be displayed
> to the user after the current call unwinds, unless the exception is
> consumed. This adds a little overhead, eg instead of
>
> try {
> ..} catch (e) {
> print
> }
>
> you would have to do:
>  try {
> ..} catch (e) {
> print
> e.consume();
> }
>
> If the error is not consumed before the current call returns, the
> onUncaughtException method will be called on a IRuntimeExceptionHandler. You
> can implement and set this handler yourself, be it a dialog, a call to a
> serverside script etc.
>
> HTH
> JC
>
>
>
> On 8/14/07, Jer Brand <[EMAIL PROTECTED]> wrote:
> >
> > What I was after was a little different.  I was originally hoping to
> > have
> > uncaught errors trigger a loadvars object to send a message to a php
> > page
> > using error_log().
> >
> > I did come up with an alternative, though I have a nagging feeling that
> > I'm
> > utilizing a bug to do what I want -- unless a parent class should know
> > it's
> > been implemented in a subclass using a particular interface.
> >
> > Here's my cheesize solution for my primary Error class:
> >
> > import ICritical ;
> > import IReported ;
> >
> > class StdError extends Error
> > {
> >    public var message:String ;
> >    private static var sendError:LoadVars ;
> >    private static var errorSrc:String  = "";
> >
> >    function StdError(msg:String)
> >    {
> >        message = msg ;
> >
> >        if(this instanceof ICritical)
> >        {
> >            // display a message
> >            stdout.error("error is critical") ;
> >        }
> >        if(this instanceof IReported)
> >        {
> >            stdout.error("error was reported to qa") ;
> >            if(sendError == undefined)
> >            {
> >                StdError.sendError = new LoadVars() ;
> >            }
> >            StdError.sendError.message = message ;
> >            StdError.sendError.name <http://stderror.senderror.name/> =
> > name ;
> >            StdError.sendError.sendAndLoad(StdError.errorSrc, null) ;
> >        }
> >    }
> >
> >    public function get name():String
> >    {
> >        return "StdError";
> >    }
> >
> >    public function toString():String
> >    {
> >        return name + ": " + message ;
> >    }
> > }
> >
> > with child classes just implementing the interface to trigger the
> > behavior
> > like :
> >
> > class CriticalReportedError extends StdError implements ICritical,
> > IReported
> > {
> >    function CriticalReportedError(message)
> >    {
> >        super(message) ;
> >    }
> >    public function get name():String
> >    {
> >        return "CriticalReportedError";
> >    }
> >
> > This feels like I'm doing something very, very wrong... Seem stupid to
> > anyone else?
> > _______________________________________________
> > Flashcoders@chattyfig.figleaf.com
> > To change your subscription options or search the archive:
> > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
> >
> > Brought to you by Fig Leaf Software
> > Premier Authorized Adobe Consulting and Training
> > http://www.figleaf.com
> > http://training.figleaf.com
> >
>
>
_______________________________________________
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com

Reply via email to