I'm having problems understanding why it fails (Logically).

Lets assume that sound.mp3 exists.


Code:
alias err {
  if ($1 == 1) {
    if ($exists("sound.mp3") == $true) {
      splay -q "sound.mp3"
      :error
    }
     goto end
  }
  if ($2 == 1) {
    if ($exists("sound.mp3") == $true) {
      splay -q "sound.mp3"
      :error
    }
  }
  :end
}

  



If I write: /err 1 then I get /goto: duplicate 'error' found


If I remove the " goto end" then it doesn't fail. My question is WHY??? I see no logic in this. confused confused