public function handle_error($level, $message, $file = null, $line = null) {
		if ($level & error_reporting()) {
			if ($this->is_silenced($file)) {
				return true;
			}

			$this->handle_exception(new \ErrorException($message, 0, $level, $file, $line));

			// Do not propagate errors which were already handled
			return true;
		}

		// Propagate error to the next handler, allows error_get_last() to
		// work on silenced errors.
		return false;
	}