rfc:sqlite3_exceptions

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
rfc:sqlite3_exceptions [2023/04/11 11:05] bohwazrfc: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: Under discussion+  * Status: Implemented 
 +  * Implementation: https://github.com/php/php-src/commit/ddd9a08f566d86083d04de320e24f0751a1de759
   * First Published at: http://wiki.php.net/rfc/sqlite3_exceptions   * First Published at: http://wiki.php.net/rfc/sqlite3_exceptions
  
Line 19: Line 20:
 In PHP 8.3: In PHP 8.3:
  
-  * Create a new exception class ''SQLite3Exception'', which extends the SPL ''RuntimeException'' class, like in mysqli and PDO+  * Create a new exception class ''SQLite3Exception'', which extends the ''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 ''SQLite3::enableExceptions(true)'' throw SQLite3Exception instead of Exception   * Make ''SQLite3::enableExceptions(true)'' throw SQLite3Exception instead of Exception
Line 41: Line 42:
  
   * 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 ''SQLite3::lastErrorCode()''.   * 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 ''SQLite3::lastErrorCode()''.
-  * Code already relying on exceptions will not see a difference, as previously \Exception was thrown, and \SQLite3Exception is a subclass of \Exception (via \RuntimeException)+  * Code already relying on exceptions will not see a difference, as previously \Exception was thrown, and \SQLite3Exception is a subclass of \Exception
  
 In PHP 9.0: In PHP 9.0:
Line 93: Line 94:
 ===== Patches and Tests ===== ===== Patches and Tests =====
  
-Pull request: https://github.com/php/php-src/pull/9816 (this is for the while behaviour for 10.0, it will be broken into multiple PRs)+Pull request
 + 
 +  * 8.3: https://github.com/php/php-src/pull/11058
  
 ===== Implementation ===== ===== Implementation =====
Line 105: Line 108:
 ===== References ===== ===== References =====
  
-* https://externals.io/message/118873+  * https://externals.io/message/118873 
 + 
 + 
 + 
 +===== Vote ===== 
 + 
 +Voting started 2023-05-09 and has ended end 2023-05-23, Europe/Paris timezone. 
 + 
 +<doodle title="Use exceptions by default in SQLite3 extension as described in this RFC?" auth="bohwaz" voteType="single" closed="true"> 
 +   * Yes 
 +   * No 
 +</doodle>
  
-===== Rejected Features ===== 
-Keep this updated with features that were discussed on the mail lists. 
rfc/sqlite3_exceptions.1681211125.txt.gz · Last modified: 2023/04/11 11:05 by bohwaz