A classe UnderflowException

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Introdução

Exceção lançada ao realizar uma operação inválida em um contêiner vazio, como remover um elemento.

Resumo da classe

class UnderflowException extends RuntimeException {
/* Propriedades herdadas */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Métodos herdados */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
}
adicione uma nota

Notas Enviadas por Usuários (em inglês) 1 note

up
0
Jakub Adamczyk
3 years ago
The most typical usage is with stack, queue or collection, for example when you queue tasks, make call stack or manipulate JSON, XML, etc. elements.As other exepctions of RuntimeException class, this type of error can't be detected in (for example) your IDE or compiler.<?php// Functions declared above $f1 = function() { setTypeControl('username');};$f2 = function() { setTypeControl('userpass');};$f3 = function() { setButton('Add');};$f4 = function() { setButton('OK');};$tasks = new class {    private $list;    // Create internal queue    public function __construct() {        $this->list = new SplQueue;    }    // Add to queue    public function add(callable $func) {        $this->list->enqueue($func);    }    // Delete from queue and execute    public function do() {        if ($this->list->isEmpty()) {            throw new UnderflowException;        } else {            call_user_func($this->list->dequeue());        }    }};$tasks->add($f1);$tasks->add($f2);$tasks->add($f3);$tasks->add($f4);$tasks->do(); // Field username is created$tasks->do(); // Field userpass is created$tasks->do(); // Button Add is created$tasks->do(); // Button OK is created$tasks->do(); // Fatal error: Uncaught UnderflowException in ...
To Top