### 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
}
			{
				HashMap<StringName, Ref<GDScript>>::ConstIterator E = subclasses.find(p_name);
				if (E) {
					r_ret = E->value;
					return true;
				}
			}
			{
				HashMap<StringName, MemberInfo>::ConstIterator E = static_variables_indices.find(p_name);
				if (E) {
					if (E->value.getter) {
						Callable::CallError ce;
						r_ret = const_cast<GDScript *>(this)->callp(E->value.getter, nullptr, 0, ce);
						return true;
					}
					r_ret = static_variables[E->value.index];
					return true;
				}
			}
			top = top->_base;
		}
		if (p_name == GDScriptLanguage::get_singleton()->strings._script_source) {
			r_ret = get_source_code();
			return true;
		}
	}
	return false;
}
bool GDScript::_set(const StringName &p_name, const Variant &p_value) {