Nev*_*r K 5 javascript testing error-handling reactjs
我的目标:测试我的错误处理功能。
临时解决方案:有一个自定义路由:/error,其中包含故意产生致命错误的代码。
var a = undefined;
a.b.c // Breaks.
Run Code Online (Sandbox Code Playgroud)
上面的方法有效,但我无法使用它来测试生产站点,因为不需要该页面。我正在寻找一种通过浏览器测试它的方法。我尝试简单地将“添加
throw new Error("Custom error thrown here")到控制台。这实际上并不会在运行时破坏它。
我尝试添加断点并添加相同的代码:throw new Error("Custom error thrown here")。那也没用。
除了上述之外,还有其他更简单的方法吗?
我正在寻找一种仅通过浏览器即可完成此操作的方法。
谢谢。
您没有明确提及应该如何以及在何处抛出错误。我假设您可以使用 JavaScript 文件的修改副本来引发错误。修改后的文件将驻留在您的计算机上,并且仅在您使用 Chrome 开发人员工具时使用。此功能称为本地覆盖。步骤如下:
Sources面板中转到Overrides选项卡Select folder for overrides并选择计算机上的文件夹
Sources面板中转到Page选项卡Save for overrides现在,您可以在计算机上或在开发人员工具中编辑文件的副本。在所需位置插入产生错误的代码。当您在开发人员工具打开的情况下重新加载页面时,Chrome 将加载 JavaScript 文件的本地副本并抛出错误。以这种方式抛出的错误将包含其起源的上下文,例如调用堆栈。如果开发人员工具关闭,则将使用 Live Copy。
如果我答对了你的问题,这就是你如何从控制台做到这一点:
var script_tag = document.createElement('script');
script_tag.type = 'text/javascript';
script_tag.text = 'throw new Error("Custom error thrown here")';
document.body.appendChild(script_tag);
Run Code Online (Sandbox Code Playgroud)
或者,如果您愿意,可以通过单击触发它:
var script_tag = document.createElement('script');
script_tag.type = 'text/javascript';
script_tag.text = 'window.document.onclick = function() { throw new Error("Custom error thrown here")}';
document.body.appendChild(script_tag);
Run Code Online (Sandbox Code Playgroud)
然后你点击页面上的任意位置,抛出错误;
| 归档时间: |
|
| 查看次数: |
3742 次 |
| 最近记录: |