title: Laravel PHP cannot get try-catch to work with DB updated
body: <p>I have a video file to probe with the use of FFPROBE, I'm trying to catch the error so that instead of just throwing the error it updates the DB row first, setting it to state 2 (processed 0 = default, processed 0 = done, processed 2 = error).</p>
  
  <p>I've tried this first:</p>
  
  <pre><code>$user     = Auth::user()-&gt;id;
  $video    = Video::find($videoUploaded-&gt;video-&gt;id);
  $playlist = $video-&gt;playlist-&gt;id;
  </code></pre>
  
  <p>...</p>
  
  <pre><code>try {
       //Line 39 $seconds
      $seconds = $ffprobe-&gt;format(config('cf.video_disk') . "/$user/$playlist/$video-&gt;ts_name")-&gt;get('duration');     
  } catch (\Exeption $err) {
      $video-&gt;processed = 2;
      $video-&gt;name      = $err-&gt;getMessage();
      $video-&gt;url       = $err-&gt;getMessage();
      $video-&gt;update();
      event(new VideoUpdated($video));
      return $err-&gt;getMessage();
  }
  </code></pre>
  
  <p>And also suppressing the error with <code>@</code> and moving the DB update in the try:</p>
  
  <pre><code>try {
      //Line 39 $seconds
      $seconds = @$ffprobe-&gt;format(config('wondermark.video_disk') . "/$user/$playlist/$video-&gt;ts_name")-&gt;get('duration'); //Line 39
      if (FALSE === $seconds) {
          $video-&gt;processed = 2;
          $video-&gt;name      = $err-&gt;getMessage();
          $video-&gt;url       = $err-&gt;getMessage();
          $video-&gt;update();
      }
  } catch (\Exeption $err) {
      event(new VideoUpdated($video));
      return $err-&gt;getMessage();
  }
  </code></pre>
  
  <p>Both return the error on line #39 (see above comment) and the DB does not get updated :(</p>