the object with type 'GameObject' has been destroyed but you are still trying to access it

Hi, I’m working on the “Space Shooter” tutorial, and after adding bolts the ship is able to shoot them for only for few seconds then it gets disabled…
Player movement script::
using UnityEngine;
using System.Collections;

[System.Serializable]
public class Boundary
{
	public float xMin, xMax, zMin, zMax;
}


public class PlayerController : MonoBehaviour 
{

	public float speed;
	public float tilt;
	public Boundary boundary;

	public GameObject shot;
	public GameObject shotSpawn; 
	public float fireRate;

	private float nextFire; 

	void Update () 
	{
		if (Input.GetButton("Fire1") && Time.time > nextFire) 
		{
			shot = Instantiate(shot) as GameObject;
			nextFire = Time.time + fireRate;
			//GameObject clone = 
			shot.transform.position = shotSpawn.transform.position;

		}
	}
	void FixedUpdate ()
	{

		float moveHorizontal = Input.GetAxis ("Horizontal");
		float moveVertical = Input.GetAxis ("Vertical");

		Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical);
		GetComponent<Rigidbody>().velocity = movement * speed;

		GetComponent<Rigidbody>().position = new Vector3
			(
				Mathf.Clamp (GetComponent<Rigidbody>().position.x, boundary.xMin, boundary.xMax), 0.0f, Mathf.Clamp (GetComponent<Rigidbody>().position.z, boundary.zMin, boundary.zMax)
			);
		GetComponent<Rigidbody>().rotation = Quaternion.Euler (0.0f, 0.0f, GetComponent<Rigidbody>().velocity.x * -tilt);
	}

}

Mover script::

using UnityEngine;
using System.Collections;

public class Mover : MonoBehaviour {

	public float speed;
	private Rigidbody rb;

	void Start()
	{
		rb = GetComponent<Rigidbody> ();
		rb.velocity = transform.forward * speed;
	}

}

Boundary script::

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class DestroyByBoundary : MonoBehaviour 
{
	void OnTriggerExit(Collider other) {
		Destroy (other.gameObject, 0.1f);
	}
}

Try it like this, also instead of using a GameObject directly as your bullet turn your bullet into a prefab to speed up your game.

GameObject shot = (GameObject)Instantiate(shot, transform.position + new Vector3(0.0f, 0.0f, 5.0f), transform.rotation);