This repository has been archived on 2024-09-05. You can view files and clone it, but cannot push or open issues or pull requests.
shimmie2/core/exceptions.php

92 lines
1.7 KiB
PHP
Raw Normal View History

2021-12-14 18:32:47 +00:00
<?php
declare(strict_types=1);
2014-04-29 05:33:03 +00:00
namespace Shimmie2;
2009-07-19 07:38:13 +00:00
/**
2014-04-29 05:33:03 +00:00
* A base exception to be caught by the upper levels.
2009-07-19 07:38:13 +00:00
*/
class SCoreException extends \RuntimeException
{
public string $error;
public int $http_code = 500;
2020-01-26 13:19:35 +00:00
2024-01-04 22:48:56 +00:00
public function __construct(string $msg)
{
parent::__construct($msg);
2020-01-26 13:19:35 +00:00
$this->error = $msg;
}
}
class InstallerException extends \RuntimeException
2020-01-27 17:47:28 +00:00
{
public string $title;
public string $body;
public int $exit_code;
2020-01-27 17:47:28 +00:00
public function __construct(string $title, string $body, int $exit_code)
2020-01-27 17:47:28 +00:00
{
2020-01-27 19:37:28 +00:00
parent::__construct($body);
2020-01-27 17:47:28 +00:00
$this->title = $title;
$this->body = $body;
$this->exit_code = $exit_code;
2020-01-27 17:47:28 +00:00
}
}
class UserErrorException extends SCoreException
{
public int $http_code = 400;
}
class ServerErrorException extends SCoreException
{
public int $http_code = 500;
}
2009-07-19 07:38:13 +00:00
/**
2014-04-29 05:33:03 +00:00
* A fairly common, generic exception.
2009-07-19 07:38:13 +00:00
*/
class PermissionDeniedException extends UserErrorException
{
public int $http_code = 403;
}
2014-04-25 20:07:30 +00:00
/**
* This exception is used when an Image cannot be found by ID.
*/
class ImageDoesNotExist extends UserErrorException
{
public int $http_code = 404;
}
2015-07-12 21:40:28 +00:00
2021-11-10 19:33:51 +00:00
/**
* This exception is used when a User cannot be found by some criteria.
*/
class UserDoesNotExist extends UserErrorException
2021-11-10 19:33:51 +00:00
{
public int $http_code = 404;
2021-11-10 19:33:51 +00:00
}
2015-07-12 21:40:28 +00:00
/*
* For validate_input()
*/
class InvalidInput extends UserErrorException
{
public int $http_code = 402;
}
/*
* This is used by the image resizing code when there is not enough memory to perform a resize.
*/
class InsufficientMemoryException extends ServerErrorException
{
}
2020-01-26 13:19:35 +00:00
/*
* This is used by the image resizing code when there is an error while resizing
*/
class ImageResizeException extends ServerErrorException
{
2019-06-14 12:47:50 +00:00
}