我写了一个小功能绘图仪,根据用户输入动画参数曲线。但是,可以输入导致+ -infinity或NaN的值。在这种情况下,d3会抛出一个解析错误。
有没有办法“捕捉”这个错误,可以这么说,并向用户显示一条消息?在try / catch中包含我的函数不起作用,因为它不是一个例外,它只是无法绘制路径 - 因此解析错误。
我希望能够在发生这种情况时向用户显示消息。
http://candpgeneration.com/toys/d3/plotter5.html
所有JS都在源头。如果你输入类似x = 10 / t的东西,它将尝试除以0,并且在控制台中可以看到以下错误:“错误:解析d =”MNaN ......“
答案 0 :(得分:0)
您可以尝试使用测试值评估用户提交的表达式,并在绘制图形之前捕获可能的异常。对于评估,您可能希望使用像this这样的外部库,因为本机eval()
函数存在安全问题。