There are some (rather large) gaps in error handling currently:
Most read module functions return Options, which don't indicate why a particular operation failed
blockdev trait functions should be returning Results and propagate errors with reading/write, but they currently just unwrap
thiserror-core can be used to define suitable error types. The main requirement for errors is that they are small (i.e. should avoid string errors), to minimize binary size in a no_std environment.
There are some (rather large) gaps in error handling currently:
read
module functions return Options, which don't indicate why a particular operation failedblockdev
trait functions should be returning Results and propagate errors with reading/write, but they currently just unwrapthiserror-core can be used to define suitable error types. The main requirement for errors is that they are small (i.e. should avoid string errors), to minimize binary size in a no_std environment.