[Cosmo-dev] JS error-handling in the UI
Matthew Eernisse
mde at osafoundation.org
Mon Jul 30 22:04:10 PDT 2007
Bobby,
By 'swallowed,' I just what you said -- the errors are being handled
(for some value of 'handled' :)) by the dialog box instead of the code
simply failing and the error going to the console.
This is in the saveSuccess function in cosmo/view/cal/canvas.js.
To produce it so I could figure out what was happening, all I did was put:
throw('foo');
at the very beginning of the saveSuccess method, before any other code
executes.
It appears that the dialog in that case is from handleSaveItem, on line
395 of cosmo/view/service.js. (I'm guessing it's the addErrBack from the
deferred?) I verified that by console.logging the err object just before
cosmo.app.showErr gets called.
Yeah, putting all of the info (file name, line number, stack, etc.) in
our error box details pop-up would make this much less of a problem when
our code does actually catch a generic JS Error.
Thanks.
Matthew
Bobby Rullo wrote:
> I'm not sure exactly what you mean here. If you are getting an error in
> the dialog box then an error IS being caught and dealt with, so I am not
> sure what you mean by swallowed.
>
> AFAIK I am not try/catching anywhere that isn't making server calls, so
> those errors shouldn't get handled by the dialog box, they should just
> fail and the browser will handle them however it does by default. There
> maybe places where that is not the case though, so it would be helpful
> if you could let me know where this is happening.
>
> Also, I took out the code that was displaying the error messages in the
> dialog box from the exception directly to the user - users shouldn't see
> stuff like "x has no properties" or something. Of course, I should've
> made the JS Exception information available somewhere, so my bad.
>
> I'll put in some code to make sure that information is available first
> thing in the morning...
>
> Thanks!
>
> bobby
>
>
>
>
> On Jul 30, 2007, at 8:09 PM, Matthew Eernisse wrote:
>
>> Howdy.
>>
>> Looks like changes to the error-handling code for saving/removing have
>> had some unfortunate side-effects.
>>
>> Now normal JavaScript errors happening in the canvas repaint *after*
>> saving are being swallowed, and all I get is the generic "Could not
>> save the item" error in our modal dialog box.
>>
>> This is problematic firstly because the items actual *is* being saved
>> -- the error is simply in the canvas repaint. Of course the bigger
>> issue is that now all the normal information you'd get in the
>> JavaScript debug window or in Firebug is now unavailable. (Shades of
>> JSON-RPC grabbing all its errors and sticking them by default in an
>> alert box, although this is a bigger problem because it extends up out
>> of the service layer now.)
>>
>> Could we do something about this? Seems like we should be grabbing
>> errors of the type we care specifically about, and passing on all the
>> others to be handled the normal way, if that's possible.
>>
>> Thanks.
>>
>>
>> Matthew
>>
>>
>> _______________________________________________
>> cosmo-dev mailing list
>> cosmo-dev at lists.osafoundation.org
>> http://lists.osafoundation.org/mailman/listinfo/cosmo-dev
>
> _______________________________________________
> cosmo-dev mailing list
> cosmo-dev at lists.osafoundation.org
> http://lists.osafoundation.org/mailman/listinfo/cosmo-dev
>
More information about the cosmo-dev
mailing list