stalxed
Новичок
Очень часто вижу, что люди совмещают return, break и throw образуя кашу.
Яркий пример, над которым задумался сам. Да и написал сам...
Другой пример, уже просто видел:
Во всех этих случаях break не нужен.
Но в том же switch ведь необходимо показать, что дальнейшие действия выполняться не должны не при каких обстоятельствах, и это показывает конструкция break, но с точки зрения ЯП throw сам выбьет конструкцию switch нафиг, как и return.
В PSRах это не написано, а жаль...
Кто что думает, необходим ли break в этих случаях?
Яркий пример, над которым задумался сам. Да и написал сам...
PHP:
public static function decode($json)
{
$data = json_decode(self::clean($json), true);
switch (json_last_error()) {
case JSON_ERROR_NONE:
return $data;
break;
case JSON_ERROR_DEPTH:
throw new Exception\RuntimeException(
'Unable to decode the json string. The cause: maximum stack depth exceeded.'
);
break;
case JSON_ERROR_STATE_MISMATCH:
throw new Exception\RuntimeException(
'Unable to decode the json string. The cause: underflow or the modes mismatch.'
);
break;
case JSON_ERROR_CTRL_CHAR:
throw new Exception\RuntimeException(
'Unable to decode the json string. The cause: unexpected control character found.'
);
break;
case JSON_ERROR_SYNTAX:
throw new Exception\RuntimeException(
'Unable to decode the json string. The cause: Syntax error, malformed JSON.'
);
break;
case JSON_ERROR_UTF8:
throw new Exception\RuntimeException(
'Unable to decode the json string. The cause: malformed UTF-8 characters.'
);
break;
default:
throw new Exception\RuntimeException(
'Unable to decode the json string. The cause is unknown.'
);
break;
}
}
PHP:
while (same_condition) {
if (some_condition) {
return false;
break;
}
}
Но в том же switch ведь необходимо показать, что дальнейшие действия выполняться не должны не при каких обстоятельствах, и это показывает конструкция break, но с точки зрения ЯП throw сам выбьет конструкцию switch нафиг, как и return.
В PSRах это не написано, а жаль...
Кто что думает, необходим ли break в этих случаях?