Having issues with a NullReferenceException error. Code does as expected in some instances but I receive the error in others. Debugger directs me to line where if(hit.collider.tag == (DestructibleCube")).

using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems;

public class TimeDestroy : MonoBehaviour {
    public GameObject bombToDestroy;
    public GameObject explosion;
    public GameObject CubeExplosion;
    public int PowerUpLevel;
   

    private float timeLeft = 4;
	// Use this for initialization
	
	
	// This is a 4 second time to have bombs blow up.
	void FixedUpdate ()
    {
        //sets time on instantiated object(dropped bomb) which explodes after 4 seconds
        timeLeft -= Time.deltaTime;
     if ( timeLeft < 0)
        {
            CastFwd(); 
            CastBack();
            CastLeft();
            CastRight();
            

            Instantiate(explosion, transform.position, transform.rotation); // graphic for explosion
            Destroy(bombToDestroy, 0f); //removes instantiated bomb
            Bomb_Pickup.bombcount += 1;
            
        }
    }


    void CastFwd() // Casts a ray in the forward direction to interact with cubes
    {
        
        RaycastHit hit;
        Ray landingRay = new Ray(transform.position, Vector3.forward);
        Debug.DrawRay(transform.position, Vector3.forward);
        Debug.Log("1");
        if (Physics.Raycast(landingRay, out hit, (.3f + (PowerUpLevel * .2f))));
        {
            Debug.Log("2");
            if (hit.collider.tag == ("DestructibleCube")) //checks for if raycast hits collider with tag 
            {
                Debug.Log("3");
                Instantiate(CubeExplosion, hit.collider.gameObject.transform.position, Quaternion.identity); //replaces gameobject with a fragmented gameobject to explose
                hit.collider.gameObject.SetActive(false); //deactivates original gameobject
            }
        }
    }

On the line where the Raycast is cast, there is a semi-colon at the end. This is terminating the if statement. This means that sometimes the value of hit is defined in others it is not. But in both instances the subsequent statement checking hit.collider.tag will always execute since the previous if condition has been bypassed. Line 44 notice semi-colon:

if (Physics.Raycast(landingRay, out hit, (.3f + (PowerUpLevel * .2f))));