rfc:sqlite3_exceptions
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
rfc:sqlite3_exceptions [2022/10/29 09:45] – bohwaz | rfc:sqlite3_exceptions [2023/07/17 04:06] (current) – Add links for implementations girgias | ||
---|---|---|---|
Line 3: | Line 3: | ||
* Date: 2022-10-24 | * Date: 2022-10-24 | ||
* Author: BohwaZ, php at bohwaz dot net | * Author: BohwaZ, php at bohwaz dot net | ||
- | * Status: | + | * Status: |
+ | * Implementation: | ||
* First Published at: http:// | * First Published at: http:// | ||
Line 13: | Line 14: | ||
It's time to move to exceptions. | It's time to move to exceptions. | ||
- | ===== Proposal | + | ===== Proposal ===== |
Progressively deprecate warnings (PHP 8.3), make exceptions the default (9.0) and remove warnings (10.0). | Progressively deprecate warnings (PHP 8.3), make exceptions the default (9.0) and remove warnings (10.0). | ||
Line 19: | Line 20: | ||
In PHP 8.3: | In PHP 8.3: | ||
- | * Create a new exception class '' | + | * Create a new exception class '' |
* Remove SQLite3 error code from the error message, and assign it to the exception code | * Remove SQLite3 error code from the error message, and assign it to the exception code | ||
* Make '' | * Make '' | ||
- | * Default behavior is still to raise warnings | ||
* Calling '' | * Calling '' | ||
+ | * Default behavior is still to raise warnings ('' | ||
In PHP 9.0: | In PHP 9.0: | ||
Line 35: | Line 36: | ||
* Remove the '' | * Remove the '' | ||
- | |||
- | ===== Proposal 2 ===== | ||
- | |||
- | Same as proposal 1, but make '' | ||
===== Backward Incompatible Changes ===== | ===== Backward Incompatible Changes ===== | ||
Line 44: | Line 41: | ||
In PHP 8.3: | In PHP 8.3: | ||
- | * Code parsing the error message to get the error code may fail, but this is unlikely as the proper way is to use '' | + | * Code parsing the error message to get the error code may fail as the error code has been moved to be consistently at the end of the error message string. This is unlikely as the proper way is to use '' |
* Code already relying on exceptions will not see a difference, as previously \Exception was thrown, and \SQLite3Exception is a subclass of \Exception | * Code already relying on exceptions will not see a difference, as previously \Exception was thrown, and \SQLite3Exception is a subclass of \Exception | ||
- | * (Proposal 2 only:) code not using '' | ||
In PHP 9.0: | In PHP 9.0: | ||
Line 93: | Line 89: | ||
===== Proposed Voting Choices ===== | ===== Proposed Voting Choices ===== | ||
- | * 1: accept proposal | + | * 1: accept proposal |
- | * 2: accept proposal 2 (same, but default to exceptions in 8.3) | + | * 2: don't change anything |
- | * 3: don't change anything | + | |
===== Patches and Tests ===== | ===== Patches and Tests ===== | ||
- | Pull request: https:// | + | Pull request: |
+ | |||
+ | * 8.3: https:// | ||
===== Implementation ===== | ===== Implementation ===== | ||
Line 111: | Line 108: | ||
===== References ===== | ===== References ===== | ||
- | * https:// | + | |
+ | |||
+ | |||
+ | |||
+ | ===== Vote ===== | ||
+ | |||
+ | Voting started 2023-05-09 and has ended end 2023-05-23, Europe/ | ||
+ | |||
+ | <doodle title=" | ||
+ | * Yes | ||
+ | * No | ||
+ | </ | ||
- | ===== Rejected Features ===== | ||
- | Keep this updated with features that were discussed on the mail lists. |
rfc/sqlite3_exceptions.1667036736.txt.gz · Last modified: 2022/10/29 09:45 by bohwaz