public function __construct($level = 1) { $data = []; $data['caller'] = CodeCaller::fromBacktrace(debug_backtrace(), $level); $msg = "unreachable code executed at " . $data['caller']['file'] . ':' . $data['caller']['line']; parent::__construct(500, $msg, $data); }
public function __construct($value, $reason = null) { $data = []; $data['value'] = $value; $data['reason'] = $reason; $data['caller'] = CodeCaller::fromBacktrace(debug_backtrace(), 2); $msg = "contract failed at " . $data['caller']['file'] . ':' . $data['caller']['line'] . "; failed value is: " . print_r($value, true); if ($reason !== null) { $msg .= '; contract is: ' . $reason; } parent::__construct(500, $msg, $data); }