Approved using this testcase:

<canvas>
    <button>
        <method event="onclick">
            try {
                throw('foo');
            } catch (e) {
                Debug.write('exception', e);
            }
        </method>
    </button>
</canvas>

Donald Anderson wrote:
Change 20071029-dda-s by [EMAIL PROTECTED] on 2007-10-29 22:24:27 EDT
    in /Users/dda/laszlo/src/svn/openlaszlo/trunk
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: support try/catch/finally and throw statements in SWF7/8

New Features: try/catch/finally supported in SWF7/8.

Bugs Fixed:  LPP-1539

Technical Reviewer: ptw
QA Reviewer: maxcarlson
Doc Reviewer: (pending)

Documentation:

Release Notes:
try, catch, finally, throw statements are now supported in SWF7/8 as well as DHTML
    runtimes.

Details:
    try/catch/finally are very helpful in creating a reliable software.
    It should help in consolidating/maintaining code in the runtime kernel,
    since DHTML already supports try/catch and we won't need to have
    alternate implementations of error handling code.

Tests:
    created some simple tests using try/catch/finally,
    also try/catch (no finally).  Had some problems with
    my try/finally (no catch) example.
    The only way I've found to trigger an exception
    in SWF7/8 is to use an explicit throw statement,
    since the SWF instruction set seems to continue to operate
    with various kinds of errors.

Files:
M      WEB-INF/lps/server/src/org/openlaszlo/sc/Actions.java
M      WEB-INF/lps/server/src/org/openlaszlo/sc/Instructions.java
M      WEB-INF/lps/server/src/org/openlaszlo/sc/Assembler.java
M      WEB-INF/lps/server/src/org/openlaszlo/sc/InstructionCollector.java
M      WEB-INF/lps/server/src/org/openlaszlo/sc/CodeGenerator.java

Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20071029-dda-s.tar



--

Don Anderson
Java/C/C++, Berkeley DB, systems consultant

Voice:  617-547-7881
Email:  [EMAIL PROTECTED]
WWW:    http://www.ddanderson.com


--
Regards,
Max Carlson
OpenLaszlo.org

Reply via email to