我目前正在构建一个独立的PHP类来包装Instagram API,其中包含一些自定义代码,用于我在公司工作的项目类型。当我开发代码时,我常常发现自己写的是这样的sutff:
if (!$this->accessToken)
throw new Exception("Instagram: Access Token can't be NULL", 1);
这是一种不好的做法吗?如果是这样,对这种情况的推荐方法是什么?
答案 0 :(得分:4)
这是一种很好的做法,因为它允许使用您的库的人正确处理错误。当异常情况发生时(例如重要值为null)抛出异常总是一个好主意。
我可以建议使用更具体的异常类的唯一改进。对于这种情况,您可能想要抛出InvalidArgumentException
或UnexpectedValueException
。使用更具体的异常类意味着人们可以在catch
块中更具体地检查该类。对于更复杂的应用程序,定义自己的异常类来处理特定的异常类型是一个好主意。
此外,如果您注释使用@throws
标记抛出异常的方法,则对使用IDE的人员非常有帮助。