Throw more specific exceptions in a few cases.
Throw more specific exceptions for two special cases that the application might want to handle separately:
OpenZGY::Errors::ZgyNeedOldLibrary
- Fallback to use the old accessor if possible.
Most likely the file is compressed using the old algorithm.
Behind the scenes that is actually a completely different file format.
OpenZGY::Errors::ZgyUpdateRules
- Fallback to delete and re-create the file.
- Possibly the file has the wrong version.
- On the cloud the file must have been created there originally, not copied.
- It must also have been created by OpenZGY to be updateable on the cloud.
The reason that OpenZGY can even know that this was not a file it created
itself has to do with alignment and how the file is split into segments.