Small Basic even apologizes! How often does software do that? =^) 

Especially apologizing for your mistakes!!! Okay, so we know they weren't intentional. They were accidents, like how one kid accidentally hit another kid in his hand with a plastic mallet because she was aiming for the humongous plastic blow-up ball he had on his lap. You, know, an accident! =^)


What you see in Small Basic:

Sorry, we found some errors...


The errors pop at the bottom when you compile:


Then after the nice apology, you get some error messages!


Here's one:

11,28: The variable 'files' is used, but its value is not assigned.  Are you sure you have spelled it correctly?


Nice! It even suggests what's most often the problem... that you're referring to a variable, but your spelling of the variable is, well, variable!!! (I'm so punny.)


Numbers mean lines and columns of source code, and you can jump into the point in source program by double clicking the error message! Sweet! Small Basic is so nice!


But sometimes, your program hits the error while it's running! It stops and pops up a runtime error window:


That's one good reason to test your program, so that your users don't have to see these windows pop up!


Here's one example of a runtime error:

Value was either too large or too small for a Decimal.
at System.Decimal..ctor(Double value)
at System.Decimal.op_Explicit(Double value)
at Microsoft.SmallBasic.Library.Math.Remainder(Primitive dividend, Primitive divisor)
at _SmallBasicProgram._Main()


Then you get a nice description of what might be the problem (and a list of the lines of code). You get exactly what you need to fix your code!

   - User Ed