Thanks for the explanation Mark. Been prowling around the web for information on assert and I think I'm getting clearer on its use. Seems like it's really meant to detect the infamous "this should never happen" situation rather than expected errors., kinda like a switch default statement to show an error message because the case statements covered all the theoretically possible options.
But then you said: "I use asserts all the time in my real-world coding, and I welcome their introduction to the LC world." And here I was thinking I was writing real world code :-) Pete lcSQL Software <http://www.lcsql.com> Home of lcStackBrowser <http://www.lcsql.com/lcstackbrowser.html> and SQLiteAdmin <http://www.lcsql.com/sqliteadmin.html> On Sun, Feb 16, 2014 at 9:40 AM, Mark Wieder <mwie...@ahsoftware.net> wrote: > Pete- > > Sunday, February 16, 2014, 9:11:23 AM, you wrote: > > > All valid points. I'm just not seeing any big advantages over using > if/then > > constructs, but I can see that being a personal preference. > > Well, one advantage of assert is that the parameters pinpoint exactly > where the error occurred, making your debugging and logging tasks > easier. You don't need a switch statement to see what type of problem > and where it happened, the engine hands that to you, and you can log > it, display it in an answer dialog, whatever you want. > > You can ship code with assert commands in place, as they should be > harmless and only come into play if something fails. Then when you > change code your tests will tell you if something's going to break. > You also have an extra bug reporting mechanism on the client end of > things: if something happens to break your code even though it passed > your dev tests, you can pop up the same log information and the your > users can relay that back to you. > > Granted you could do all this without an assert command in the engine, > and we've done that for years, but this makes things easier, cleaner, > and helps the engine team ensure that they can catch bugs before they > release builds to us. I use asserts all the time in my real-world > coding, and I welcome their introduction to the LC world. > > That said, I think the assert command is still in its infancy, as it > won't catch things like > > assert 1 / 0 > > -- > -Mark Wieder > ahsoftw...@gmail.com > > This communication may be unlawfully collected and stored by the National > Security Agency (NSA) in secret. The parties to this email do not > consent to the retrieving or storing of this communication and any > related metadata, as well as printing, copying, re-transmitting, > disseminating, or otherwise using it. If you believe you have received > this communication in error, please delete it immediately. > > > _______________________________________________ > use-livecode mailing list > use-livecode@lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode