blob: b2439bf83613b3f483e672f1387f97a4bf95a2d2 [file] [log] [blame]
Matthias Andreas Benkard7b2a3a12021-08-16 10:57:25 +02001<?php
2
3namespace LdapRecord;
4
5use Exception;
6
7class LdapRecordException extends Exception
8{
9 /**
10 * The detailed LDAP error (if available).
11 *
12 * @var DetailedError|null
13 */
14 protected $detailedError;
15
16 /**
17 * Create a new Bind Exception with a detailed connection error.
18 *
19 * @param Exception $e
20 * @param DetailedError|null $error
21 *
22 * @return $this
23 */
24 public static function withDetailedError(Exception $e, DetailedError $error = null)
25 {
26 return (new static($e->getMessage(), $e->getCode(), $e))->setDetailedError($error);
27 }
28
29 /**
30 * Set the detailed error.
31 *
32 * @param DetailedError|null $error
33 *
34 * @return $this
35 */
36 public function setDetailedError(DetailedError $error = null)
37 {
38 $this->detailedError = $error;
39
40 return $this;
41 }
42
43 /**
44 * Returns the detailed error.
45 *
46 * @return DetailedError|null
47 */
48 public function getDetailedError()
49 {
50 return $this->detailedError;
51 }
52}