Bug 443059

Summary: Revise snapshot contracts with regard to exceptions
Product: [Technology] Handly Reporter: Vladimir Piskarev <pisv>
Component: CoreAssignee: Vladimir Piskarev <pisv>
Status: RESOLVED FIXED QA Contact:
Severity: enhancement    
Priority: P3 Keywords: api
Version: 0.1   
Target Milestone: 0.2   
Hardware: All   
OS: All   
Whiteboard: breakingchange

Description Vladimir Piskarev CLA 2014-09-02 03:50:10 EDT
Currently, ISnapshot methods may throw CoreException in case of underlying resource failure, and dealing with it in the client code quickly becomes unwieldy, whereas most ISnapshot implementations are not expected to throw it. (Only TextFileSnapshot can throw it for the time being.)

Instead of throwing a CoreException in case of underlying resource failure, the affected snapshot could log the error and expire. Although a breaking change, this should make the contract more straightforward.
Comment 1 Vladimir Piskarev CLA 2014-09-02 07:57:49 EDT
ISnapshotProvider can also get rid of CoreException.
Comment 2 Vladimir Piskarev CLA 2014-09-02 08:37:49 EDT
Pushed to master.
commit b07afea03ad8ef589ba799cdd2149c82bfb1a7f7