A clone of VError v1.4.0 that converts undefined and null arguments to strings so sprintf will not throw an Error. This is particularly important when you are handling errors as it'll just mask the root cause of the problem.
Credit to David Pacheco from Joyent for VError v1.4.0 this was cloned from
See VError documentation to understand how VError works