### Godot version

4.1.dev

### System information

Win11

### Issue description

I load a non-existing GDScript, but it still returns a valid instance instead of null.
```gdscript
@tool
extends EditorScript

func _run():
	var s = ResourceLoader.load("non_exists.gd", "", ResourceLoader.CACHE_MODE_IGNORE)
	print(s)
	assert(s == null)

```

```
  Attempt to open script 'res://non_exists.gd' resulted in error 'File not found'.
<GDScript#-9223369015982753437>
  res://new_script.gd:7 - Assertion failed.

```

### Steps to reproduce

N/A

### Minimal reproduction project

N/A
_get_script_signal_list(r_signals, true);
}
String GDScript::_get_gdscript_reference_class_name(const GDScript *p_gdscript) {
	ERR_FAIL_NULL_V(p_gdscript, String());
	String class_name;
	while (p_gdscript) {
		if (class_name.is_empty()) {
			class_name = p_gdscript->get_script_class_name();
		} else {
			class_name = p_gdscript->get_script_class_name() + "." + class_name;
		}
		p_gdscript = p_gdscript->_owner;
	}
	return class_name;
}
GDScript *GDScript::_get_gdscript_from_variant(const Variant &p_variant) {