我应该对用户输入错误抛出异常吗?

Nar*_*sus 3 php

我正在编写一个用户输入库,以便轻松管理动态创建表单以询问用户数据.

我想让最终的开发人员不得不"思考"最低限度,所以我让他们抛出异常而不是返回'true'或'false'并记住处理返回值等.

实际上,它的效果非常好.抛出异常也给了我一个附带好处,即能够在日志中自动记录用户错误,所有这些都是"免费"的,因为异常的创建导致日志记录完成.

说完所有这些之后,我想知道这是否真的"反对最佳做法"?我是否应该仅在我甚至不期望用户输入错误的时候保留例外,或者可以说"来自用户的数据有问题......这是一个例外"?

有什么想法吗?

Gar*_*eth 10

例外情况适用于特殊情况.

错误的用户输入是一个预期的情况,并且(在我看来)你应该总是尝试验证并按摩它到正确的格式,然后再显示非异常的错误消息.