stable

Clone or download

Read-only

Not all exceptions should extend RuntimeException

part of story #22675 replicate program increment changes to mirrored program increments How to test: No functional change expected when creating mirror program increments. You can test for non-regression with the end-to-end tests. Notes: With the default settings of our most commonly used IDE PHPStorm, \RuntimeException is considered an "Unchecked" exception. This means that the IDE will *never* warn you that you didn't add a @throws docblock for all exceptions extending it. Some errors legitimately extend it, for example when we retrieve a Tracker from a TrackerIdentifier or when we retrieve a full field from a FieldReference. In those cases, the error indicates something is wrong with either our code logic or our database. However, almost all exceptions in our Domain extend it without good reason. In Synchronized fields, some errors must be caught and dealt with, for example if the Title field is not of type String, we must catch it and show an error message to the user or stop the mirroring. Extending \Exception should be the default, as missing docblocks or try/catch will be flagged by our IDE. Change-Id: I9de2926b3e66c91c525c17323c782d4df0270bb5

Modified Files

Name
M plugins/program_management/include/Adapter/Program/Backlog/ProgramIncrement/Source/Fields/SynchronizedFieldsGatherer.php +2 −3 Go to diff View file
M plugins/program_management/include/Adapter/Program/Backlog/ProgramIncrement/Source/Fields/TrackerFromFieldRetriever.php +2 −2 Go to diff View file
M plugins/program_management/include/Domain/Program/Backlog/AsynchronousCreation/ProcessProgramIncrementUpdate.php +4 −0 Go to diff View file
M plugins/program_management/include/Domain/Program/Backlog/ProgramIncrement/Source/Changeset/Values/ChangesetValueNotFoundException.php +1 −1 Go to diff View file
M plugins/program_management/include/Domain/Program/Backlog/ProgramIncrement/Source/Changeset/Values/UnsupportedTitleFieldException.php +1 −1 Go to diff View file
M plugins/program_management/include/Domain/Program/Backlog/ProgramIncrement/Source/Fields/FieldRetrievalException.php +1 −1 Go to diff View file
M plugins/program_management/include/Domain/Program/Backlog/ProgramIncrement/Source/Fields/MissingTimeFrameFieldException.php +1 −1 Go to diff View file
M plugins/program_management/include/Domain/Program/Backlog/ProgramIncrement/Source/Fields/NoArtifactLinkFieldException.php +1 −1 Go to diff View file
M plugins/program_management/include/Domain/Program/Backlog/ProgramIncrement/Source/Fields/NoDuckTypedMatchingValueException.php +1 −1 Go to diff View file
M plugins/program_management/include/Domain/Program/Backlog/ProgramIncrement/Source/Fields/SynchronizedFieldReferences.php +6 −0 Go to diff View file
M plugins/program_management/include/Domain/Program/Backlog/ProgramIncrement/Source/Fields/TitleFieldHasIncorrectTypeException.php +1 −1 Go to diff View file
M plugins/program_management/tests/unit/Domain/Program/Backlog/ProgramIncrement/Source/Fields/TrackerFromFieldRetrieverTest.php +2 −2 Go to diff View file