mirror of
https://code.mensbeam.com/MensBeam/Arsse.git
synced 2024-12-22 21:22:40 +00:00
Flesh out most database exceptions
- Fixes #46 - Some exception messages are tentative pending testing
This commit is contained in:
parent
7c1df71acd
commit
a3e2da1d36
3 changed files with 23 additions and 11 deletions
|
@ -27,10 +27,18 @@ abstract class AbstractException extends \Exception {
|
||||||
"Db/Exception.updateFileUnreadable" => 10214,
|
"Db/Exception.updateFileUnreadable" => 10214,
|
||||||
"Db/Exception.updateManual" => 10215,
|
"Db/Exception.updateManual" => 10215,
|
||||||
"Db/Exception.updateManualOnly" => 10216,
|
"Db/Exception.updateManualOnly" => 10216,
|
||||||
"Db/Exception.paramTypeInvalid" => 10301,
|
"Db/Exception.paramTypeInvalid" => 10221,
|
||||||
"Db/Exception.paramTypeUnknown" => 10302,
|
"Db/Exception.paramTypeUnknown" => 10222,
|
||||||
"Db/Exception.paramTypeMissing" => 10303,
|
"Db/Exception.paramTypeMissing" => 10223,
|
||||||
"Db/Exception.engineErrorGeneral" => 10401, // this symbol can have engine-specific duplicates to accomodate engine-specific error string construction
|
"Db/Exception.engineErrorGeneral" => 10224, // this symbol may have engine-specific duplicates to accomodate engine-specific error string construction
|
||||||
|
"Db/ExceptionInput.missing" => 10231,
|
||||||
|
"Db/ExceptionInput.whitespace" => 10232,
|
||||||
|
"Db/ExceptionInput.tooLong" => 10233,
|
||||||
|
"Db/ExceptionInput.tooShort" => 10234,
|
||||||
|
"Db/ExceptionInput.idMissing" => 10235,
|
||||||
|
"Db/ExceptionInput.constraintViolation" => 10236,
|
||||||
|
"Db/ExceptionInput.typeViolation" => 10237,
|
||||||
|
"Db/ExceptionTimeout.general" => 10241,
|
||||||
"Conf/Exception.fileMissing" => 10302,
|
"Conf/Exception.fileMissing" => 10302,
|
||||||
"Conf/Exception.fileUnusable" => 10303,
|
"Conf/Exception.fileUnusable" => 10303,
|
||||||
"Conf/Exception.fileUnreadable" => 10304,
|
"Conf/Exception.fileUnreadable" => 10304,
|
||||||
|
|
|
@ -11,7 +11,7 @@ trait ExceptionBuilder {
|
||||||
public function exceptionBuild() {
|
public function exceptionBuild() {
|
||||||
switch($this->db->lastErrorCode()) {
|
switch($this->db->lastErrorCode()) {
|
||||||
case self::SQLITE_BUSY:
|
case self::SQLITE_BUSY:
|
||||||
return [ExceptionTimeout::class, 'sqliteBusy', $this->db->lastErrorMsg()];
|
return [ExceptionTimeout::class, 'general', $this->db->lastErrorMsg()];
|
||||||
case self::SQLITE_CONSTRAINT:
|
case self::SQLITE_CONSTRAINT:
|
||||||
return [ExceptionInput::class, 'constraintViolation', $this->db->lastErrorMsg()];
|
return [ExceptionInput::class, 'constraintViolation', $this->db->lastErrorMsg()];
|
||||||
case self::SQLITE_MISMATCH:
|
case self::SQLITE_MISMATCH:
|
||||||
|
|
|
@ -1,26 +1,24 @@
|
||||||
<?php
|
<?php
|
||||||
return [
|
return [
|
||||||
'Driver.User.Internal.Name' => 'Internal',
|
'Driver.User.Internal.Name' => 'Internal',
|
||||||
|
|
||||||
'Driver.Db.SQLite3.Name' => 'SQLite 3',
|
'Driver.Db.SQLite3.Name' => 'SQLite 3',
|
||||||
|
|
||||||
// this should only be encountered in testing (because tests should cover all exceptions!)
|
// this should only be encountered in testing (because tests should cover all exceptions!)
|
||||||
'Exception.JKingWeb/NewsSync/Exception.uncoded' => 'The specified exception symbol {0} has no code specified in AbstractException.php',
|
'Exception.JKingWeb/NewsSync/Exception.uncoded' => 'The specified exception symbol {0} has no code specified in AbstractException.php',
|
||||||
// this should not usually be encountered
|
// this should not usually be encountered
|
||||||
'Exception.JKingWeb/NewsSync/Exception.unknown' => 'An unknown error has occurred',
|
'Exception.JKingWeb/NewsSync/Exception.unknown' => 'An unknown error has occurred',
|
||||||
|
|
||||||
'Exception.JKingWeb/NewsSync/Lang/Exception.defaultFileMissing' => 'Default language file "{0}" missing',
|
'Exception.JKingWeb/NewsSync/Lang/Exception.defaultFileMissing' => 'Default language file "{0}" missing',
|
||||||
'Exception.JKingWeb/NewsSync/Lang/Exception.fileMissing' => 'Language file "{0}" is not available',
|
'Exception.JKingWeb/NewsSync/Lang/Exception.fileMissing' => 'Language file "{0}" is not available',
|
||||||
'Exception.JKingWeb/NewsSync/Lang/Exception.fileUnreadable' => 'Insufficient permissions to read language file "{0}"',
|
'Exception.JKingWeb/NewsSync/Lang/Exception.fileUnreadable' => 'Insufficient permissions to read language file "{0}"',
|
||||||
'Exception.JKingWeb/NewsSync/Lang/Exception.fileCorrupt' => 'Language file "{0}" is corrupt or does not conform to expected format',
|
'Exception.JKingWeb/NewsSync/Lang/Exception.fileCorrupt' => 'Language file "{0}" is corrupt or does not conform to expected format',
|
||||||
'Exception.JKingWeb/NewsSync/Lang/Exception.stringMissing' => 'Message string "{msgID}" missing from all loaded language files ({fileList})',
|
'Exception.JKingWeb/NewsSync/Lang/Exception.stringMissing' => 'Message string "{msgID}" missing from all loaded language files ({fileList})',
|
||||||
'Exception.JKingWeb/NewsSync/Lang/Exception.stringInvalid' => 'Message string "{msgID}" is not a valid ICU message string (language files loaded: {fileList})',
|
'Exception.JKingWeb/NewsSync/Lang/Exception.stringInvalid' => 'Message string "{msgID}" is not a valid ICU message string (language files loaded: {fileList})',
|
||||||
|
|
||||||
'Exception.JKingWeb/NewsSync/Conf/Exception.fileMissing' => 'Configuration file "{0}" does not exist',
|
'Exception.JKingWeb/NewsSync/Conf/Exception.fileMissing' => 'Configuration file "{0}" does not exist',
|
||||||
'Exception.JKingWeb/NewsSync/Conf/Exception.fileUnreadable' => 'Insufficient permissions to read configuration file "{0}"',
|
'Exception.JKingWeb/NewsSync/Conf/Exception.fileUnreadable' => 'Insufficient permissions to read configuration file "{0}"',
|
||||||
'Exception.JKingWeb/NewsSync/Conf/Exception.fileUncreatable' => 'Insufficient permissions to write new configuration file "{0}"',
|
'Exception.JKingWeb/NewsSync/Conf/Exception.fileUncreatable' => 'Insufficient permissions to write new configuration file "{0}"',
|
||||||
'Exception.JKingWeb/NewsSync/Conf/Exception.fileUnwritable' => 'Insufficient permissions to overwrite configuration file "{0}"',
|
'Exception.JKingWeb/NewsSync/Conf/Exception.fileUnwritable' => 'Insufficient permissions to overwrite configuration file "{0}"',
|
||||||
'Exception.JKingWeb/NewsSync/Conf/Exception.fileCorrupt' => 'Configuration file "{0}" is corrupt or does not conform to expected format',
|
'Exception.JKingWeb/NewsSync/Conf/Exception.fileCorrupt' => 'Configuration file "{0}" is corrupt or does not conform to expected format',
|
||||||
|
|
||||||
'Exception.JKingWeb/NewsSync/Db/Exception.extMissing' => 'Required PHP extension for driver "{0}" not installed',
|
'Exception.JKingWeb/NewsSync/Db/Exception.extMissing' => 'Required PHP extension for driver "{0}" not installed',
|
||||||
'Exception.JKingWeb/NewsSync/Db/Exception.fileMissing' => 'Database file "{0}" does not exist',
|
'Exception.JKingWeb/NewsSync/Db/Exception.fileMissing' => 'Database file "{0}" does not exist',
|
||||||
'Exception.JKingWeb/NewsSync/Db/Exception.fileUnreadable' => 'Insufficient permissions to open database file "{0}" for reading',
|
'Exception.JKingWeb/NewsSync/Db/Exception.fileUnreadable' => 'Insufficient permissions to open database file "{0}" for reading',
|
||||||
|
@ -28,7 +26,6 @@ return [
|
||||||
'Exception.JKingWeb/NewsSync/Db/Exception.fileUnusable' => 'Insufficient permissions to open database file "{0}" for reading or writing',
|
'Exception.JKingWeb/NewsSync/Db/Exception.fileUnusable' => 'Insufficient permissions to open database file "{0}" for reading or writing',
|
||||||
'Exception.JKingWeb/NewsSync/Db/Exception.fileUncreatable' => 'Insufficient permissions to create new database file "{0}"',
|
'Exception.JKingWeb/NewsSync/Db/Exception.fileUncreatable' => 'Insufficient permissions to create new database file "{0}"',
|
||||||
'Exception.JKingWeb/NewsSync/Db/Exception.fileCorrupt' => 'Database file "{0}" is corrupt or not a valid database',
|
'Exception.JKingWeb/NewsSync/Db/Exception.fileCorrupt' => 'Database file "{0}" is corrupt or not a valid database',
|
||||||
'Exception.JKingWeb/NewsSync/Db/Exception.engineErrorGeneral' => '{0}',
|
|
||||||
'Exception.JKingWeb/NewsSync/Db/Exception.paramTypeInvalid' => 'Prepared statement parameter type "{0}" is invalid',
|
'Exception.JKingWeb/NewsSync/Db/Exception.paramTypeInvalid' => 'Prepared statement parameter type "{0}" is invalid',
|
||||||
'Exception.JKingWeb/NewsSync/Db/Exception.paramTypeUnknown' => 'Prepared statement parameter type "{0}" is valid, but not implemented',
|
'Exception.JKingWeb/NewsSync/Db/Exception.paramTypeUnknown' => 'Prepared statement parameter type "{0}" is valid, but not implemented',
|
||||||
'Exception.JKingWeb/NewsSync/Db/Exception.paramTypeMissing' => 'Prepared statement parameter type for parameter #{0} was not specified',
|
'Exception.JKingWeb/NewsSync/Db/Exception.paramTypeMissing' => 'Prepared statement parameter type for parameter #{0} was not specified',
|
||||||
|
@ -50,7 +47,15 @@ return [
|
||||||
0 {Automatic updating of the {driver_name} database failed because it is already up to date with the requested version, {target}}
|
0 {Automatic updating of the {driver_name} database failed because it is already up to date with the requested version, {target}}
|
||||||
other {Automatic updating of the {driver_name} database failed because its version, {current}, is newer than the requested version, {target}}
|
other {Automatic updating of the {driver_name} database failed because its version, {current}, is newer than the requested version, {target}}
|
||||||
}',
|
}',
|
||||||
|
'Exception.JKingWeb/NewsSync/Db/Exception.engineErrorGeneral' => '{0}',
|
||||||
|
'Exception.JKingWeb/NewsSync/Db/ExceptionInput.missing' => 'Required field "{field}" missing while performing action "{action}"',
|
||||||
|
'Exception.JKingWeb/NewsSync/Db/ExceptionInput.whitespace' => 'Required field "{field}" of action "{action}" may not contain only whitespace',
|
||||||
|
'Exception.JKingWeb/NewsSync/Db/ExceptionInput.tooLong' => 'Required field "{field}" of action "{action}" has a maximum length of {max}',
|
||||||
|
'Exception.JKingWeb/NewsSync/Db/ExceptionInput.tooShort' => 'Required field "{field}" of action "{action}" has a minimum length of {min}',
|
||||||
|
'Exception.JKingWeb/NewsSync/Db/ExceptionInput.idMissing' => 'Referenced ID in field "{field}" does not exist',
|
||||||
|
'Exception.JKingWeb/NewsSync/Db/ExceptionInput.constraintViolation' => '{0}',
|
||||||
|
'Exception.JKingWeb/NewsSync/Db/ExceptionInput.typeViolation' => '{0}',
|
||||||
|
'Exception.JKingWeb/NewsSync/Db/ExceptionTimeout.general' => '{0}',
|
||||||
'Exception.JKingWeb/NewsSync/User/Exception.alreadyExists' => 'Could not perform action "{action}" because the user {user} already exists',
|
'Exception.JKingWeb/NewsSync/User/Exception.alreadyExists' => 'Could not perform action "{action}" because the user {user} already exists',
|
||||||
'Exception.JKingWeb/NewsSync/User/Exception.doesNotExist' => 'Could not perform action "{action}" because the user {user} does not exist',
|
'Exception.JKingWeb/NewsSync/User/Exception.doesNotExist' => 'Could not perform action "{action}" because the user {user} does not exist',
|
||||||
'Exception.JKingWeb/NewsSync/User/Exception.authMissing' => 'Please log in to proceed',
|
'Exception.JKingWeb/NewsSync/User/Exception.authMissing' => 'Please log in to proceed',
|
||||||
|
@ -63,7 +68,6 @@ return [
|
||||||
}}
|
}}
|
||||||
other {Authenticated user is not authorized to perform the action "{action}" on behalf of {user}}
|
other {Authenticated user is not authorized to perform the action "{action}" on behalf of {user}}
|
||||||
}',
|
}',
|
||||||
|
|
||||||
'Exception.JKingWeb/NewsSync/Feed/Exception.invalidCertificate' => 'Could not download feed "{url}" because its server is serving an invalid SSL certificate',
|
'Exception.JKingWeb/NewsSync/Feed/Exception.invalidCertificate' => 'Could not download feed "{url}" because its server is serving an invalid SSL certificate',
|
||||||
'Exception.JKingWeb/NewsSync/Feed/Exception.invalidURL' => 'Feed URL "{url}" is invalid',
|
'Exception.JKingWeb/NewsSync/Feed/Exception.invalidURL' => 'Feed URL "{url}" is invalid',
|
||||||
'Exception.JKingWeb/NewsSync/Feed/Exception.maxRedirect' => 'Could not download feed "{url}" because its server reached its maximum number of HTTP redirections',
|
'Exception.JKingWeb/NewsSync/Feed/Exception.maxRedirect' => 'Could not download feed "{url}" because its server reached its maximum number of HTTP redirections',
|
||||||
|
|
Loading…
Reference in a new issue