Fake error with custom type and message

Hi,

Instead of throwing errors by parsing invalid JSON I thought I’d try using a custom module, so I made one that has no URL defined (base or otherwise), takes for inputs an assertion, an error type and an error message, with a definition like so:

{
	"response": {
		"valid": "{{parameters.assertion}}",
		"error": {
			"type": "DataError",
			"200": {
				"message": "[200] Test"
			},
			"message": "{{parameters.errorMessage}}"
		},
		"output": { }
	}
}

The actual assertion/validation works; the module throws an error when the assertion is false, but the error parameters seem to be ignored. I hardcoded the type to verify whether it was an issue with using a parameter, and I added the 200 object to see whether it made a difference, but the error thrown is always the following:

RuntimeError

Response marked as invalid.

Am I specifying the error parameters incorrectly, or is this some kind of default, forced error that happens due to there not being any URL provided/request performed?