Its main purpose is to create a placeholders for Throwable most needed data discarding all not needed traces. TLDR: This class should be used in design patterns which logic represents failures as throwables, and does not necessarily need stack information.
Пример #1
0
 /**
  * @see Promise::getReason
  */
 protected function getReason()
 {
     return $this->reason instanceof ThrowableProxy ? $this->reason->toThrowable() : $this->reason;
 }