Removed exception conversion stuff.
This commit is contained in:
parent
285e2de40c
commit
13d2edb7c3
5 changed files with 5 additions and 94 deletions
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
|||
0.2407.311911
|
||||
0.2407.311920
|
||||
|
|
10
index.php
10
index.php
|
@ -7,13 +7,3 @@ namespace Index;
|
|||
|
||||
define('NDX_ROOT', __DIR__);
|
||||
define('NDX_DIR_SRC', NDX_ROOT . DIRECTORY_SEPARATOR . 'src');
|
||||
|
||||
// currently phpstan sucks and relies on error suppression, luckily it leaves a constant!
|
||||
if(!defined('__PHPSTAN_RUNNING__')) {
|
||||
// defining this WILL cause issues, never do it unless you HAVE to
|
||||
if(!defined('NDX_LEAVE_ERRORS'))
|
||||
Exceptions::convertErrors();
|
||||
|
||||
if(!defined('NDX_LEAVE_EXCEPTIONS'))
|
||||
Exceptions::handleExceptions();
|
||||
}
|
||||
|
|
|
@ -1,79 +0,0 @@
|
|||
<?php
|
||||
// Exceptions.php
|
||||
// Created: 2021-04-30
|
||||
// Updated: 2021-05-12
|
||||
|
||||
namespace Index;
|
||||
|
||||
use ErrorException;
|
||||
use Throwable;
|
||||
|
||||
/**
|
||||
* Provides handling for uncaught exceptions and errors.
|
||||
*/
|
||||
final class Exceptions {
|
||||
/**
|
||||
* Convert errors to ErrorExceptions.
|
||||
*
|
||||
* Automatically invoked by inclusion of index.php into your project unless the constant <code>NDX_LEAVE_ERRORS</code> is defined beforehand.
|
||||
* This is not recommended as it may cause undefined behaviour in some classes.
|
||||
* This will also make error suppression not work, luckily you've not been using that since PHP 5. Right? Right?!
|
||||
* Besides, this makes it possible to try..catch errors.
|
||||
*/
|
||||
public static function convertErrors(): void {
|
||||
self::restoreErrors();
|
||||
set_error_handler([self::class, 'handleError'], -1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Restores error handling to the default PHP state.
|
||||
*/
|
||||
public static function restoreErrors(): void {
|
||||
restore_error_handler();
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle uncaught exceptions.
|
||||
*
|
||||
* Automatically invoked by inclusion of index.php into your project unless the constant <code>NDX_LEAVE_EXCEPTIONS</code> is defined.
|
||||
*/
|
||||
public static function handleExceptions(): void {
|
||||
self::restoreExceptions();
|
||||
//set_exception_handler([self::class, 'handleException']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Restores uncaught exception handling to the default PHP state.
|
||||
*/
|
||||
public static function restoreExceptions(): void {
|
||||
restore_exception_handler();
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts errors to ErrorExceptions.
|
||||
*
|
||||
* Paramater documentation is copied from the set_error_handler page on php.net
|
||||
*
|
||||
* @see https://www.php.net/manual/en/function.set-error-handler.php
|
||||
* @param int $errno The first parameter, errno, will be passed the level of the error raised, as an integer.
|
||||
* @param string $errstr The second parameter, errstr, will be passed the error message, as a string.
|
||||
* @param string $errfile If the callback accepts a third parameter, errfile, it will be passed the filename that the error was raised in, as a string.
|
||||
* @param int $errline If the callback accepts a fourth parameter, errline, it will be passed the line number where the error was raised, as an integer.
|
||||
* @throws ErrorException An ErrorException with the provided parameters.
|
||||
* @return bool if this were false the PHP error handler would continue, but returning is never reached.
|
||||
*/
|
||||
public static function handleError(int $errno, string $errstr, string $errfile, int $errline): bool {
|
||||
throw new ErrorException($errstr, 0, $errno, $errfile, $errline);
|
||||
}
|
||||
|
||||
/**
|
||||
* Handles uncaught exceptions.
|
||||
*
|
||||
* @see https://www.php.net/manual/en/function.set-exception-handler.php
|
||||
* @param ?Throwable $ex Uncaught Throwable to handle. May be null to reset state(?) apparently.
|
||||
*/
|
||||
public static function handleException(?Throwable $ex): void {
|
||||
if($ex === null)
|
||||
return;
|
||||
}
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
// FileStream.php
|
||||
// Created: 2021-04-30
|
||||
// Updated: 2022-02-27
|
||||
// Updated: 2024-07-31
|
||||
|
||||
namespace Index\IO;
|
||||
|
||||
|
@ -36,7 +36,7 @@ class FileStream extends GenericStream {
|
|||
}
|
||||
|
||||
if($stream === false)
|
||||
throw new IOException('An unhandled error occurred while trying to open a file. Exceptions::convertErrors() has probably not been called.');
|
||||
throw new IOException('An unhandled error occurred while trying to open a file.');
|
||||
|
||||
parent::__construct($stream);
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
// NetworkStream.php
|
||||
// Created: 2021-04-30
|
||||
// Updated: 2022-02-27
|
||||
// Updated: 2024-07-31
|
||||
|
||||
namespace Index\IO;
|
||||
|
||||
|
@ -18,7 +18,7 @@ class NetworkStream extends GenericStream {
|
|||
}
|
||||
|
||||
if($stream === false)
|
||||
throw new IOException('An unhandled error occurred while trying to connect. Exceptions::convertErrors() has probably not been called.');
|
||||
throw new IOException('An unhandled error occurred while trying to connect.');
|
||||
|
||||
parent::__construct($stream);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue