file_save_upload validate file size
The return value from file_save_upload() is:


  array Function returns array of files or a single file object if $delta != NULL. Each file object contains the file information if the upload succeeded or FALSE in the event of an error. Function returns NULL if no file was uploaded.


So you can handle it a few different ways.

$picture = reset($pictures);
if ($picture === FALSE) {
  $form_state-&gt;setErrorByName('field_name', $this-&gt;t('Error!'));
}


or

$picture = reset($pictures);
if (!$picture instanceof \Drupal\file\Entity\File) {
  $form_state-&gt;setErrorByName('field_name', $this-&gt;t('Error!'));
}


are the first that come to mind.

This code will need to be in a validate method rather than a submit method, so that you're setting errors in the right place. You can leave the ->save() logic in the submit method, safe in the knowledge that the file has been validated and exists before that code is executed.