修复 assert throws 和 doesNotThrow 不能抛出的错误
通过在独立 context 内预编译，阻止攻击性代码进入工作 context。