，很容易使得程式变得复杂而难以理解，即所谓的面条式代码。现代的高阶语言提供许多结构化控制流程的指令，可以取代标记及直接跳跃指令。所以许多程式语言已不支援标记，或者只在极少数的场合下使用（如C#中的case）。另一种可以取代标记及直接跳跃指令的是异常处理，一般会使用try和catch的指令。