Well, yes, but this behavior was there before my pull request as well.
So I try to keep my pull request to only change one thing.
I can agree that not turning errors into exceptions probably should not be supported.
I can agree that it seems this code never was expected to work when errors are not turned into exceptions,
so we might as well embrace it and throw.

But there's still reason 1: the native error message might contain some useful information about _why_ the `mkdir` failed.
Do you think something like the following would be better than just triggering the error manually?

```php

@mkdir($filepath, 0777, true);
// Store the possible error right away to prevent overriding
$error = error_get_last();
if ( ! is_dir($filepath)) {
    throw new \Exception($error['message']);
```

Honestly, this seems very fiddly.
Why don't you like just calling the `mkdir` again anyway?