how to know which animation is playing unity code example

Example 1: condition when a animation finishes in unity

if(anim.GetCurrentAnimatorStateInfo(0).normalizedTime > 1){  //If normalizedTime is 0 to 1 means animation is playing, if greater than 1 means finished
   Debug.Log("not playing"); 
 }
 else{  
      Debug.Log("playing");
 }

Example 2: unity get currently playing animation

anim.GetCurrentAnimatorClipInfo(0)[0].clip.name

        //Get them_Animator, which you attach to the GameObject you intend to animate.
        m_Animator = gameObject.GetComponent<Animator>();
        //Fetch the current Animation clip information for the base layer
        m_CurrentClipInfo = this.m_Animator.GetCurrentAnimatorClipInfo(0);
        //Access the current length of the clip
        m_CurrentClipLength = m_CurrentClipInfo[0].clip.length;
        //Access the Animation clip name
        m_ClipName = m_CurrentClipInfo[0].clip.name;