1 <?php 2 /** 3 * Copyright 2008-2017 Horde LLC (http://www.horde.org/) 4 * 5 * See the enclosed file LICENSE for license information (LGPL). If you 6 * did not receive this file, see http://www.horde.org/licenses/lgpl21. 7 * 8 * @author 9 * @category Horde 10 * @license http://www.horde.org/licenses/lgpl21 LGPL 11 * @package Exception 12 */ 13 14 /** 15 * Horde exception class that can wrap and set its details from PEAR_Error, 16 * Exception, and other objects with similar interfaces. 17 * 18 * @author 19 * @category Horde 20 * @copyright 2008-2017 Horde LLC 21 * @license http://www.horde.org/licenses/lgpl21 LGPL 22 * @package Exception 23 */ 24 class Horde_Exception_Wrapped extends Horde_Exception 25 { 26 /** 27 * Exception constructor. 28 * 29 * @param mixed $message The exception message, a PEAR_Error 30 * object, or an Exception object. 31 * @param int $code A numeric error code. 32 */ 33 public function __construct($message = null, $code = 0) 34 { 35 $previous = null; 36 if (is_object($message) && 37 method_exists($message, 'getMessage')) { 38 if (empty($code) && 39 method_exists($message, 'getCode')) { 40 $code = (int)$message->getCode(); 41 } 42 if ($message instanceof Exception) { 43 $previous = $message; 44 } 45 if (method_exists($message, 'getUserinfo') && 46 $details = $message->getUserinfo()) { 47 $this->details = $details; 48 } elseif (!empty($message->details)) { 49 $this->details = $message->details; 50 } 51 $message = (string)$message->getMessage(); 52 } 53 54 parent::__construct($message, $code, $previous); 55 } 56 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body