[Msxml2.DOMDocument.6.0].load() does not report an error for non-url string arguments. It returns a boolean value if the load was successful or not. If loading was not successful it returns false so you simply need to check against $com(XSL).result after the call to detect a load failure:
if (!$com(XSL, load, 1, bstr, %xstl) || $comerr) {
; com related error
}
elseif (!$com(XSL).result) {
; load failed; you can dispatch parseError and check it's .reason property to get a plain text message as to why the load failed
}
I know it may seem like it would throw an error for a non-url input due to the page linked below mentioning E_INVALIDARGS but that error is only returned if the input type of load() is not of an applicable type
.load()"Return Values
Boolean. Returns True if the load succeeded; False if the load failed."
"xmlSource
An indicator of the source XML to parse. This may be an URL (String/BSTR), a Request object (in an ASP page), an IStream, SAFEARRAY of bytes (VT_ARRAY|VT_UI1), a DOMDocument object, or any object that supports IStream, ISequentialStream, or IPersistStream."
parseError membersIn short this is not a bug in mIRC, but rather scripter error.