Listening on the error event on the window object should work (I'm assuming
the error is thrown). I.e:
window.addEventListener('error', function (e) {
// Not sure how to check if this is the error you're looking for (it might
suck if it's triggered by some other runtime error).
// Maybe a naive regex on the message text would do.
if(thisIsTheErrorYoureLookingFor(e) {
elmApp = Elm.Main.fullscreen(null);
}
}
elmApp = Elm.Main.fullscreen(startingState);
Source: http://stackoverflow.com/a/13435462/1165146
Den lördag 15 oktober 2016 kl. 19:20:11 UTC+2 skrev Kevin Berridge:
>
> I'm using App.programWithFlags to initialize the state of my model from
> local storage (as described in this blog article
> <https://medium.com/wunder-nerds/storing-and-restoring-the-state-in-elm-0-17-94874429dc1d>).
>
> But when the schema of my model changes (ex: I added a new field to a
> record type) it will correctly error out when Elm.Main.fullscreen is called
> with error: "You are trying to initialize module `Main` with an unexpected
> argument."
>
> I am OK with throwing away the state from local storage and starting from
> scratch when this happens, so I tried to add a try catch in the JavaScript
> but surprisingly (to me) the catch doesn't fire.
>
> try {
> elmApp = Elm.Main.fullscreen(startingState);
> }
> catch (e) {
> elmApp = Elm.Main.fullscreen(null); // this never gets called
> }
>
> Is there a way that I can catch this error? Or do I need to use a
> different approach?
>
> Thanks,
> Kevin
>
--
You received this message because you are subscribed to the Google Groups "Elm
Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.