UnderflowException クラス
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
はじめに
空のコンテナ上で無効な操作 (要素の削除など) を試みたときにスローされる例外です。
クラス概要
/* 継承したプロパティ */
/* 継承したメソッド */
}
+add a note
User Contributed Notes 1 note
Jakub Adamczyk ¶
2 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 ...
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google