The throw_if function throws the given exception if a given boolean expression evaluates to true:
<?php throw_if(! Auth::user()->isAdmin(), AuthorizationException::class);

throw_if(
    ! Auth::user()->isAdmin(),
    AuthorizationException::class,
    'You are not allowed to access this page.'
);
<?php     private function getContainer()

    {

        throw_if(! $this->container, new \Exception('Cannot query assets without specifying the container.'));



        return $this->container instanceof AssetContainer

            ? $this->container
<?php     public function where($column, $operator = null, $value = null)

    {

        if ($column === 'container') {

            throw_if($this->container, new Exception('Only one asset container may be queried.'));

            $this->container = $operator;



            return $this;
<?php     public function group($name, $label, $permissions = null)

    {

        throw_if($this->pendingGroup, new \Exception('Cannot double nest permission groups'));



        if (func_num_args() === 3) {

            $this->groups[$name] = $label;
<?php         $evaluated = eval(str_replace('<?php', '', $contents));

        $expected = ['sites' => $config];

        throw_if($evaluated !== $expected, new \Exception('The config could not be written.'));



        File::put($path, $contents);

        $this->checkLine('Site config file updated.');
<?php         return collect($collections)->flatMap(function ($collectionHandle) use ($collections, $user) {

            $collection = Collection::findByHandle($collectionHandle);



            throw_if(! $collection, new CollectionNotFoundException($collectionHandle));



            if (! $user->can('create', [EntryContract::class, $collection])) {

                return null;
<?php             })->all();

        }



        throw_if(is_array($value), new MultipleValuesEncounteredException($this));



        $label = is_null($value) ? null : array_get($this->config('options'), $value, $value);
<?php     protected function abortIfUnpublished($item)

    {

        throw_if($item->published() === false, new NotFoundHttpException);

    }
<?php                 $fields->validate($this->extraRules($fields));

            });



            throw_if(Arr::get($values, $form->honeypot()), new SilentFormFailureException);



            $submission->uploadFiles();
<?php             throw_if(FormSubmitted::dispatch($submission) === false, new SilentFormFailureException);

        } catch (ValidationException $e) {

            return $this->formFailure($params, $e->errors(), $form->handle());

        } catch (SilentFormFailureException $e) {
<?php         }



        try {

            throw_if(UserRegistering::dispatch($user) === false, new SilentFormFailureException);

        } catch (ValidationException $e) {

            return $this->userRegistrationFailure($e->errors());

        } catch (SilentFormFailureException $e) {
<?php         $sites = config('statamic.sites.sites');



        throw_if(count($sites) > 1, new StatamicProRequiredException('Statamic Pro is required to use multiple sites.'));



        return $next($request);

    }
<?php     protected function bindEntries()

    {

        Route::bind('entry', function ($handle, $route) {

            throw_if(

                ! ($entry = Entry::find($handle)) || $entry->collection()->id() !== $route->parameter('collection')->id(),

                new NotFoundHttpException("Entry [$handle] not found.")

            );



            return $entry;

        });
<?php     public function directory($directory = null)

    {

        throw_if($directory, new \LogicException('Cannot set directory on a child store.'));



        return $this->parent->childDirectory($this);

    }
<?php             return $tree;

        }



        throw_if(isset($tree[0]['children']), new \Exception('Root page cannot have children'));



        return $tree;

    }
<?php     public function next($currentEntry)

    {

        throw_if($this->params->has('paginate'), new \Exception('collection:next is not compatible with [paginate] parameter'));

        throw_if($this->params->has('offset'), new \Exception('collection:next is not compatible with [offset] parameter'));

        throw_if($this->collections->count() > 1, new \Exception('collection:next is not compatible with multiple collections'));