public function serializeThrowable(Throwable $e)
    {
        $this->class = get_class($e);
        $this->message = $e->getMessage();

        $this->properties = [];

        try {
            $reflection = new ReflectionClass($this->class);

            foreach ($reflection->getProperties() as $property) {
                if ($property->isStatic()) {
                    continue;
                }

                $property->setAccessible(true);

                $name = $property->getName();

                if ($name == 'trace') {
                    continue;
                }

                $value = $property->getValue($e);

                $this->properties[$name] = Maker::make($value);
            }
        } catch (Throwable $ex) {
            //
        }
    }