For 2023 - we are now fully retired from IT training.
We have made many, many friends over 25 years of teaching about Python, Tcl, Perl, PHP, Lua, Java, C and C++ - and MySQL, Linux and Solaris/SunOS too. Our training notes are now very much out of date, but due to upward compatability most of our examples remain operational and even relevant ad you are welcome to make us if them "as seen" and at your own risk.
Lisa and I (Graham) now live in what was our training centre in Melksham - happy to meet with former delegates here - but do check ahead before coming round. We are far from inactive - rather, enjoying the times that we are retired but still healthy enough in mind and body to be active!
I am also active in many other area and still look after a lot of web sites - you can find an index ((here))
Error trapping in Lua - no exceptions.
Lua's a small language - it's about a twentieth of the size of most of the others I teach - so there isn't the space for the nicities of things like expection handling. But it does very nicely, thank you!
Functions return nil (false) values if they fail, and true values (even 0 is true in Lua, which is rather clever!) if they work - that's easy enough to check for.
And if you're concerned that a function may fail catastrophically in mid operation, you can simply wrap it in a call to pcall
. The syntax may look a bit odd - but it works like magic, returning a true vaue if it works, and a false if it fails ...
... and your result come back as a second parameter.
Icing on the cake - you get the error message back as the second parameter if the first is false. Neat!
See a source example [here] (written 2010-04-04, updated 2010-04-03)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articlesU111 - Lua - Trapping and handling errors. 
Error Handling in Lua with assert and pcall - (2009-08-13) 
Lua examples - coroutines, error handling, objects, etc - (2009-10-15)
Some other Articles
__index and __newindex in Lua - metatable methodsOld trackways and routes near MelkshamThe bull on the footpathA walk on the Kennet and AvonError trapping in Lua - no exceptions.Hotel booking in Melksham made easy!A walk within without - Melksham WithoutLua MetatablesFirst and last match with Regular ExpressionsIs Lua an Object Oriented language?
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page
This is a page archived from The Horse's Mouth at
the diary and writings of Graham Ellis.
Every attempt was made to provide current information at the time the
page was written, but things do move forward in our business - new software
releases, price changes, new techniques. Please check back via
our main site for current courses,
prices, versions, etc - any mention of a price in "The Horse's Mouth"
cannot be taken as an offer to supply at that price.
Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).