/** * @param string $generated_message * @param string $message * @return void * @throws mixed exception type, specified in the constructor to the Assert instance. */ private function throw_exception($generated_message, $message) { $cls = $this->exception_class; $full_message = "{$message}\n{$generated_message}"; $arguments = array($full_message); $arguments = Util::array_join_values($this->exception_args, $arguments); $reflection = new \ReflectionClass($cls); /** @var $exception \Exception */ $exception = $reflection->newInstanceArgs($arguments); throw $exception; }