В ваших случаях установлено $arr_array
, но вы никогда его не возвращаете, вы всегда возвращаете значение по умолчанию [ 'error_code' => 34, 'error_message' => 'Error' ]
, поэтому вам нужно проверить, установлены ли значения в этом массиве, поэтому;
if (!empty($arr_error['error_code']))
{
return $arr_error;
}
return [
'error_code' => 34,
'error_message' => 'Error'
];
Выше проверяется, установлен ли код ошибки в $arr_error
и будет ли он использоваться, в противном случае возвращается ошибка по умолчанию 34
Точно так же, как примечание, вы называете $e->getAwsErrorMessage()
ужасным лотом, его хранение немного упростит, например,
$arr_error = array();
$err_message = $e->getAwsErrorCode();
switch ($err_message) {
case 'InvalidParameterException':
$arr_error['error_code'] = 71;
$arr_error['error_message'] = $err_message;
break;
/* Your other code, just using $err_message instead of $e->getAwsErrorCode()
This will save some overhead from the function calls */
}