### Godot version

4.0.beta13

### System information

Windows 10

### Issue description

When you call the `seek()` function without a current animation it outputs `Condition "!playback.current.from" is true.` to the debugger.

I was getting the error above whenever I would call `stop()` on an AnimationPlayer when it didn't have a playing animation. I realized that `stop()` also calls the `seek()` function.

I would expect the `seek()` and `stop()` functions to just do nothing, instead of throwing errors, if there isn't a current animation, or at least show an error that says that there is no animation to seek/stop.

This is the same issue that was described here: [#6122](https://github.com/godotengine/godot/issues/6122)

### Steps to reproduce

- Create an AnimationPlayer node.
- Don't have it play any animations.
- Call the `seek()` function.

### Minimal reproduction project

[seek_issue.zip](https://github.com/godotengine/godot/files/10442071/seek_issue.zip)

ERR_FAIL_COND_V_MSG(!playback.current.from, 0, "AnimationPlayer has no current animation");
	return playback.current.from->animation->get_length();
}
void AnimationPlayer::_animation_changed(const StringName &p_name) {
	clear_caches();
	if (is_playing()) {
		playback.seeked = true; 
	}
}
void AnimationPlayer::_stop_playing_caches(bool p_reset) {
	for (TrackNodeCache *E : playing_caches) {
		if (E->node && E->audio_playing) {
			E->node->call(SNAME("stop"));
		}
		if (E->node && E->animation_playing) {
			AnimationPlayer *player = Object::cast_to<AnimationPlayer>(E->node);
			if (!player) {
				continue;
			}
			if (p_reset) {
				player->stop();
			} else {
				player->pause();
			}
		}
	}
	playing_caches.clear();
}
void AnimationPlayer::_node_removed(Node *p_node) {