2015-06-01 28 views
1

您是否针对您使用的API的错误响应编写了特定的Exception错误导致消耗的API抛出异常

例如为:

class SmsServiceException extends Exception 
{ 

} 

class SmsServiceSendException extends SmsServiceException 
{ 

} 

有内置的例外PHP针对这种情况具体?因为有一个用于无效参数InvalidArgumentException

回答

1

这取决于:

有时可能是有用的通过一些API的具体数据与异常一起(例如,如果API具有应当在错误信息报告的一些具体数据)。在这些情况下,编写自定义异常处理程序是正确的,但是没有特定的规则,因此您必须为使用的每个API编写特定的异常类

PHP中没有内置异常对于这种情况

1

当谈到这个例外情况时,你很好。 PHP有一些本地异常,但这些不涉及任何非内置的php问题。

错过一个参数是一个很常见的错误,因此抛出一个异常PHP需要一些东西,但是当你做自己的事情时,创建类也可以自由地创建异常,因为你的许多想法不会有默认的异常在PHP中。

另一方面,您可以为整个API编写一个异常类,然后传入该模块的名称以编辑创建1个“灵活”异常的异常。这确实可以提高可读性,所以请记住;)