### 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
const GDScript *sptr = script.ptr();
	while (sptr) {
		{
			HashMap<StringName, GDScript::MemberInfo>::ConstIterator E = script->member_indices.find(p_name);
			if (E) {
				if (E->value.getter) {
					Callable::CallError err;
					r_ret = const_cast<GDScriptInstance *>(this)->callp(E->value.getter, nullptr, 0, err);
					if (err.error == Callable::CallError::CALL_OK) {
						return true;
					}
				}
				r_ret = members[E->value.index];
				return true; 
			}
		}
		{
			const GDScript *sl = sptr;
			while (sl) {
				HashMap<StringName, Variant>::ConstIterator E = sl->constants.find(p_name);
				if (E) {
					r_ret = E->value;
					return true; 
				}
				sl = sl->_base;
			}
		}
		{