While @helen’s answer is correct it is a bit sparse.
It details the Err.Raise() method but misses out some key points.
From the original question
However, is there some way I can generate my own errors? For example if one of my functions is passed the wrong type of parameter I’d rather my script just flat out fail at that point then try to continue.
Err.Raise() is extremely versatile it can throw existing exceptions (as already discussed) but it can also throw completely new user-defined exceptions.
Call Err.Raise(vbObjectError + 10, "My Application", "My custom error message")
The vbObjectError (-2147221504) is an in-built VBScript constant that defines the boundary for raising user-defined errors.