异常报告级别控制

同时, Saber亦支持以温和的方式来对待异常, 以免使用者陷入在不稳定的网络环境下, 必须在每一步都使用try包裹代码的恐慌中:

设定errorReport级别, 它是全局生效的, 对已创建的实例不会生效.

  1. // 启用所有异常但忽略重定向次数过多异常
  2. SaberGM::exceptionReport(
  3. HttpExceptionMask::E_ALL ^ HttpExceptionMask::E_REDIRECT
  4. );

掩码表

下面的值(数值或者符号)用于建立一个二进制位掩码,来制定要报告的错误信息。可以使用按位运算符来组合这些值或者屏蔽某些类型的错误。标志位与掩码

MaskValueIntro
E_NONE0忽略所有异常
E_REQUEST1对应RequestException
E_CONNECT2对应RequestException
E_REDIRECT4对应RequestException
E_BAD_RESPONSE8对应BadRException
E_CLIENT16对应ClientException
E_SERVER32对应ServerException
E_ALL63所有异常