How to move to Enemy's location only if it exists...if it doesn't exist, then don't bother looking for it

My Player Ship is set up to automatically move to the x position of the closest instantiated Asteroid.
It works.
But the console is showing “Object reference not set to an instance of an object”.
It says this whenever there are no Asteroid’s that exist in the scene.
So how do I get my Player Ship to ONLY move to the closest instantiated Asteroid IF an Asteroid does indeed exist. And if an Asteroid doesn’t exist, then I don’t want the Player to try to move towards an Asteroid that doesn’t exist. Rather, I want the Player to automatically move to another location.

I think the problem is that Line 24 is constantly trying to find the position of the “FindClosestEnemy().gameObject” even when it doesn’t exist. So how do I make it look for it only when one exists?

//Sequence which finds the closest enemy object
	GameObject FindClosestEnemy() {
		GameObject[] gos;
		gos = GameObject.FindGameObjectsWithTag("Ast");
		GameObject closest = null;
		float distance = Mathf.Infinity;
		Vector3 position = transform.position;
		foreach (GameObject go in gos) {
				Vector3 diff = go.transform.position - position;
				float curDistance = diff.sqrMagnitude;
				if (curDistance < distance) {
						closest = go;
						distance = curDistance;
				}
		}
		return closest;
	}

    void FixedUpdate() {
//Automatic Player movement controls if the "Auto Pilot Pick Up" is activated
		if (autoPilotPU == true) {
			Vector3 movePosition = transform.position;
			movePosition.x = Mathf.MoveTowards (transform.position.x, FindClosestEnemy ().gameObject.transform.position.x, speed * Time.deltaTime);
			GetComponent<Rigidbody> ().MovePosition (movePosition);
		}
	}

wrap the line in an if statement like this:

if(GameObject.FindGameObjectsWithTag("Ast")){ movePosition.x = Mathf.MoveTowards (transform.position.x, FindClosestEnemy ();}