How can I stop getting Null Reference Exception?

I am making a FPS, but on my AI, I get a Null Reference Exception. I would like to make the script check if the tagged player exists, but I can’t figure it out. Could someone please point me in the right direction? Here is the code:

var Distance;
var Target : Transform;
var lookAtDistance = 250;
//var attackRange = 15.0;
var moveSpeed = 5.0;
var Damping = 6.0;
//Prefabs for different hits.
var FleshPrefab : Transform;
var DirtPrefab : Transform;
var MetalPrefab : Transform;
var ConcretePrefab : Transform;
var WoodPrefab : Transform;
//Bullet holes
    public var woodBulletHole : GameObject[];
    //End of prefabs for differen hits.
    var gunshotSound : AudioClip;
    private var accuracy : float = 2.5;
    var TheDammage : int = 10;
    var attackRepeatTime = 3.5;
    var Health = 100;
    private var attackTime : float;
    var PlayerHealth : PlayerHealth;
    
    //Ragdoll and AI death
    var DeathRagdoll : GameObject;
    var AI : Transform;
    
    function Update ()
    {
    	if (Target == null)
    	{
    		Target = GameObject.FindWithTag("Player").transform;
    	}
    	if (Target)
    	{
    		Distance = Vector3.Distance(Target.position, transform.position);
    		
    		if (Distance < lookAtDistance)
    		{
    			renderer.material.color = Color.yellow;
    			lookAt();
    		}
    		
    		if (Distance > lookAtDistance)
    		{
    			renderer.material.color = Color.green;
    		}
    		
    		/*if (Distance < attackRange)
    		{
    			renderer.material.color = Color.red;
    			attack ();
    		}*/
    	}
    }
    
    function lookAt ()
    {	
    	var rotation = Quaternion.LookRotation(Target.position - transform.position);
    	transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime * Damping);
    	attackRepeatTime = Random.Range(3.5,4.5);
    	accuracy = Random.Range(0.01, 12.5);
    	if (PlayerHealth.health >= 0)
    	{
    		Fire();
    	}
    }
    
    function attack ()
    {
    	transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime);
    }
    
    function Fire()
    {
    	if (Time.time > attackTime)
    	{
    		AudioSource.PlayClipAtPoint(gunshotSound, transform.position, 10000);
    		var hit : RaycastHit;
    		var BulletDirection = transform.TransformDirection(new Vector3(Random.Range(-accuracy, accuracy) * 0.002, Random.Range(-accuracy, accuracy) *0.001,1));
    		if (Physics.Raycast(transform.position, BulletDirection, hit, Mathf.Infinity))
    		{
    			if (hit.transform.gameObject.tag=="Player")
    			{
    				hit.transform.SendMessage("Damage", TheDammage, SendMessageOptions.DontRequireReceiver);
    				var FleshClone = Instantiate(FleshPrefab, hit.point, transform.rotation);
    				Destroy(FleshClone.gameObject, 2);
    			}
    			if (hit.transform.gameObject.tag=="concrete")
    			{
    				var ConcreteClone = Instantiate(ConcretePrefab, hit.point, transform.rotation);
    				Destroy(ConcreteClone.gameObject, 2);
    			}
    			if (hit.transform.gameObject.tag=="dirt")
    			{
    				var DirtClone = Instantiate(DirtPrefab, hit.point, transform.rotation);
    				Destroy(DirtClone.gameObject, 2);
    			}
    			if (hit.transform.gameObject.tag=="metal")
    			{
    				var MetalClone = Instantiate(MetalPrefab, hit.point, transform.rotation);
    				Destroy(MetalClone.gameObject, 2);
    			}
    			if (hit.transform.gameObject.tag=="wood")
    			{
    				var WoodClone = Instantiate(WoodPrefab, hit.point, transform.rotation);
    				Destroy(WoodClone.gameObject, 2);
    				Instantiate(woodBulletHole[Random.Range(0,3)], hit.point, Quaternion.FromToRotation(Vector3.up, hit.normal));
    			
    			}
    		}
    		attackTime = Time.time + attackRepeatTime;
    	}
    	
    }
    
    function ApplyDammage (TheDammage : int)
    {
    	Health -= TheDammage;
    	
    	if(Health <= 0)
    	{
    		Dead();
    	}
    }
    
    function Dead()
    {
    	Instantiate (DeathRagdoll , AI.position, transform.rotation);
    	Destroy (gameObject);
    }

I managed to fix it! Thanks to this post: http://answers.unity3d.com/questions/597652/missing-gameobject-null.html

I added this inside of it if(Target == null)

if (Target == null)
	{
		if (GameObject.FindGameObjectWithTag("Player"))
		{
			Target = GameObject.FindWithTag("Player").transform;
		}
		else
		{
			return;
		}
	}