发出错误信号时的事件顺序

错误的顺序通常是:

  1. 通过在 errordict 中查找错误名称并执行此过程来触发错误。
  2. errordict 过程调用 signalerror,传递错误名称。
  3. signalerror 获取堆栈的快照,在 $error 中保存快照,然后调用 stop
  4. stop 弹出 exec 堆栈,直到被停止的运算符建立的最近的封闭停止上下文。
  5. 如果程序没有建立自己的停止上下文来捕获错误,它将被一个外层 stopped { errordict /handleerror get exec } if 捕获,该启动代码调用它来括起整个用户程序。
  6. handleerror 使用 $error 中的信息打印错误报告。