On 2009-09-28, at 12:33, André Bargull wrote:

> I've just made a simple testcase to verify that LPP-8151 can be  
> closed:
> ---
> <canvas debug="true">
>   <handler name="oninit">
>       if (void 0 instanceof String) {}
>   </handler>
> </canvas>
> ---
>
> The debugger intercepted the runtime error, but the file and line  
> information aren't really accurate:
> ---
> ERROR @events/LaszloEvents.lzs#513: TypeError: Error #1010: A term  
> is undefined and has no properties.
> ---
>
> This could lead to some confusion and make it a bit difficult to  
> find the error in the source code. Should we worry about this?

Yes we should, but probably as an improvement (or 2).

I see two bugs here:

1) We need a way to warn the user when the file/line number  
information is inaccurate.  See 
(http://jira.openlaszlo.org/jira/browse/LPP-7443 
), (http://jira.openlaszlo.org/jira/browse/LPP-7176).

Maybe the debugger should say "@events/LaszloEvents.lzs≈513" when it  
knows the line number is only approximate (i.e., when backtrace is not  
on).

2) The heuristic for deciding when to wrap a function body with an  
error catcher is too simplistic.  This is why the error is being  
caught in LaszloEvents, instead of the user code.  A brute force fix  
for this would be to make this change:

> Index: JavascriptGenerator.java
> ===================================================================
> --- JavascriptGenerator.java  (revision 14885)
> +++ JavascriptGenerator.java  (working copy)
> @@ -1295,7 +1295,7 @@
>      // variable analysis shows that there is a dereference in the
>      // original body of the function, or we are recording a declared
>      // exception
> -    if ((analyzer.dereferenced && (catchExceptions ||  
> debugExceptions)) || throwExceptions) {
> +    if ((analyzer.dereferenced && catchExceptions) ||  
> debugExceptions || throwExceptions) {
>        String fragment = "";
>        if (throwExceptions) {
>          // Just record declared errors and always rethrow

Maybe the overhead of doing that is worth the improvement in accuracy  
to at least the file name?



_______________________________________________
Laszlo-reviews mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-reviews

Reply via email to