Skip to content

Conversation

peterfpeterson
Copy link
Member

@peterfpeterson peterfpeterson commented Apr 25, 2025

As part of the overall campaign to rewrite nexus usage with H5File, this has 3 features:

  • Add the function name from the nexus API in the exceptions
  • Migrate from char * to std::string
  • Use absolute nexus paths in LoadEmptyInstrument algorithm
  • Remove a confusing function in H5Util::getDataSpace(const std::vector<NumT> &data)

Refs #38332 and EWM8451

To test:

This is a refactor so a code review is most appropriate.

This does not require release notes because it will be included in the nexus refactor release note that is coming soon.


Reviewer

Please comment on the points listed below (full description).
Your comments will be used as part of the gatekeeper process, so please comment clearly on what you have checked during your review. If changes are made to the PR during the review process then your final comment will be the most important for gatekeepers. In this comment you should make it clear why any earlier review is still valid, or confirm that all requested changes have been addressed.

Code Review

  • Is the code of an acceptable quality?
  • Does the code conform to the coding standards?
  • Are the unit tests small and test the class in isolation?
  • If there is GUI work does it follow the GUI standards?
  • If there are changes in the release notes then do they describe the changes appropriately?
  • Do the release notes conform to the release notes guide?

Functional Tests

  • Do changes function as described? Add comments below that describe the tests performed?
  • Do the changes handle unexpected situations, e.g. bad input?
  • Has the relevant (user and developer) documentation been added/updated?

Does everything look good? Mark the review as Approve. A member of @mantidproject/gatekeepers will take care of it.

Gatekeeper

If you need to request changes to a PR then please add a comment and set the review status to "Request changes". This will stop the PR from showing up in the list for other gatekeepers.

@peterfpeterson peterfpeterson added the Technical Debt Marks a piece of work to address technical debt introduced to solve a problem quickly label Apr 25, 2025
@peterfpeterson peterfpeterson added this to the Release 6.13 milestone Apr 25, 2025
@peterfpeterson peterfpeterson changed the title 38332 improve exceptions Improve NeXusException information Apr 25, 2025
@peterfpeterson peterfpeterson marked this pull request as ready for review April 25, 2025 14:24
Copy link
Contributor

@rboston628 rboston628 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good and simplifies later PRs. Thanks!

@SilkeSchomann SilkeSchomann self-assigned this Apr 28, 2025
@SilkeSchomann SilkeSchomann merged commit ee0ab44 into mantidproject:main Apr 28, 2025
10 checks passed
@peterfpeterson peterfpeterson deleted the 38332_improve_exceptions branch April 28, 2025 14:27
glass-ships pushed a commit that referenced this pull request Apr 28, 2025
* Add more template instantiations

* Add more template instantiations

* Remove unnecessary and confusing function

* Change closeGroup to closeData

* Quiet compiler warning

* Call openPath with absolute path

* Change from char array to string

* Add function name as a variable in NexusException
@rboston628 rboston628 added the Nexus Pull requests that are part of Nexus Refactor in issue #38332 label Aug 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Nexus Pull requests that are part of Nexus Refactor in issue #38332 Technical Debt Marks a piece of work to address technical debt introduced to solve a problem quickly
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants