我正在将事件驱动的插件api添加到正在使用的基于Web的系统中。
我应该将插件调用包装在try/catch中以确保它们不会崩溃,还是应该让插件开发人员来处理。
此外,某些插件可能会更改我传递给他们的数据,我应该重新验证所有数据还是应该信任插件开发人员不要破坏任何内容?
最佳答案
您不应该让程序崩溃。
如果您可以保护自己免受插件编写者的无辜错误影响,则应该这样做-通过处理异常和重新验证代码必须重复使用的修改数据。
发现问题(异常或数据格式有误)时,您要做什么取决于您-卸载插件,直到重新加载插件才重新使用,在生产模式下可能是明智的。对于插件开发人员而言,明智的做法是提供明智的诊断,甚至可能对获得广泛的接受(许多人为您编写插件)至关重要。如果其他程序员不能有效解决问题,则他们可能不会继续尝试。
关于events - 我应该允许插件使我的应用程序崩溃吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3595055/