I like that you showed examples of exception callbacks.

In order to keep my code as clean as possible... I like to use the .tostring at the end of the arguments (in this case) that was all of the arguments are strings. (no problem with argument types)

I also like to allow for multiple argument configurations in the lisp routine so it handles up to 5 arguments.

I probably should have the routine ignore the extra.

Also I make the function return Nil if any error is encountered or the dialog is cancelled.

So I handle all of the errors, although I do not inform the user what the error is.

That is what you have demonstrated.

IMHO It adds a level of complexity to the example that clouds the simplicity of the example.

In a functioning finished routine I would include exception handling... so I am glad you showed this.

At the level of the newbies to these functions... simplicity will help them become proficient faster, and then be able to include the exception handlers to it.

Thanks for your input Blackbox.