A lax Web news feed parser
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

25 lines
876 B

<?php
/** @license MIT
* Copyright 2018 J. King et al.
* See LICENSE and AUTHORS files for details */
declare(strict_types=1);
namespace JKingWeb\Lax;
abstract class Exception extends \Exception {
public const SYMBOLS = [
// Parsing: 0x1100
"notJSONType" => [0x1111, "Document Content-Type is not either that of JSON Feed or generic JSON"],
"notJSON" => [0x1112, "Document is not valid JSON"],
"notJSONFeed" => [0x1113, "Document is not a JSON Feed document"],
];
public function __construct(string $symbol, \Exception $e = null) {
$data = self::SYMBOLS[$symbol] ?? null;
if (!$data) {
throw new \Exception("Exception symbol \"$symbol\" does not exist");
}
[$code, $msg] = $data;
parent::__construct($msg, $code, $e);
}
}