1<?php 2 3namespace Sabre\Xml; 4 5use 6 LibXMLError; 7 8/** 9 * This exception is thrown when the Readers runs into a parsing error. 10 * 11 * This exception effectively wraps 1 or more LibXMLError objects. 12 * 13 * @copyright Copyright (C) 2009-2015 fruux GmbH (https://fruux.com/). 14 * @author Evert Pot (http://evertpot.com/) 15 * @license http://sabre.io/license/ Modified BSD License 16 */ 17class LibXMLException extends ParseException { 18 19 /** 20 * The error list. 21 * 22 * @var LibXMLError[] 23 */ 24 protected $errors; 25 26 /** 27 * Creates the exception. 28 * 29 * You should pass a list of LibXMLError objects in its constructor. 30 * 31 * @param LibXMLError[] $errors 32 * @param int $code 33 * @param Exception $previousException 34 */ 35 function __construct(array $errors, $code = null, Exception $previousException = null) { 36 37 $this->errors = $errors; 38 parent::__construct($errors[0]->message . ' on line ' . $errors[0]->line . ', column ' . $errors[0]->column, $code, $previousException); 39 40 } 41 42 /** 43 * Returns the LibXML errors 44 * 45 * @return void 46 */ 47 function getErrors() { 48 49 return $this->errors; 50 51 } 52 53} 54