diff options
author | David Tolnay <dtolnay@chromium.org> | 2019-02-12 17:51:26 -0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2019-02-20 08:20:02 -0800 |
commit | b4bd00fdad094b16c785b8ead9f92d68264f5fb4 (patch) | |
tree | 540ad033c789aa08a1ffed17e9c161df331600d2 /arch/src/lib.rs | |
parent | 0373b9f154b5ec1894138b7c10ad495fcce7b64f (diff) | |
download | crosvm-b4bd00fdad094b16c785b8ead9f92d68264f5fb4.tar crosvm-b4bd00fdad094b16c785b8ead9f92d68264f5fb4.tar.gz crosvm-b4bd00fdad094b16c785b8ead9f92d68264f5fb4.tar.bz2 crosvm-b4bd00fdad094b16c785b8ead9f92d68264f5fb4.tar.lz crosvm-b4bd00fdad094b16c785b8ead9f92d68264f5fb4.tar.xz crosvm-b4bd00fdad094b16c785b8ead9f92d68264f5fb4.tar.zst crosvm-b4bd00fdad094b16c785b8ead9f92d68264f5fb4.zip |
error: Print errors using Display impl
I have been running into Debug-printed error messages too often and needing to look up in the source code each level of nested errors to find out from the comment on the error variant what the short name of the variant means in human terms. Worse, many errors (like the one shown below) already had error strings written but were being printed from the calling code in the less helpful Debug representation anyway. Before: [ERROR:src/main.rs:705] The architecture failed to build the vm: NoVarEmpty After: [ERROR:src/main.rs:705] The architecture failed to build the vm: /var/empty doesn't exist, can't jail devices. TEST=cargo check --all-features TEST=FEATURES=test emerge-amd64-generic crosvm Change-Id: I77122c7d6861b2d610de2fff718896918ab21e10 Reviewed-on: https://chromium-review.googlesource.com/1469225 Commit-Ready: David Tolnay <dtolnay@chromium.org> Tested-by: David Tolnay <dtolnay@chromium.org> Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Diffstat (limited to 'arch/src/lib.rs')
-rw-r--r-- | arch/src/lib.rs | 26 |
1 files changed, 11 insertions, 15 deletions
diff --git a/arch/src/lib.rs b/arch/src/lib.rs index 8a9c2d8..74545a5 100644 --- a/arch/src/lib.rs +++ b/arch/src/lib.rs @@ -120,26 +120,24 @@ impl fmt::Display for DeviceRegistrationError { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match self { DeviceRegistrationError::AllocateIoAddrs(e) => { - write!(f, "Allocating IO addresses: {:?}", e) + write!(f, "Allocating IO addresses: {}", e) } DeviceRegistrationError::AllocateIrq => write!(f, "Allocating IRQ number"), DeviceRegistrationError::CreateMmioDevice(e) => { - write!(f, "failed to create mmio device: {:?}", e) + write!(f, "failed to create mmio device: {}", e) } DeviceRegistrationError::Cmdline(e) => { write!(f, "unable to add device to kernel command line: {}", e) } DeviceRegistrationError::EventFdCreate(e) => { - write!(f, "failed to create eventfd: {:?}", e) - } - DeviceRegistrationError::MmioInsert(e) => { - write!(f, "failed to add to mmio bus: {:?}", e) + write!(f, "failed to create eventfd: {}", e) } + DeviceRegistrationError::MmioInsert(e) => write!(f, "failed to add to mmio bus: {}", e), DeviceRegistrationError::RegisterIoevent(e) => { - write!(f, "failed to register ioevent to VM: {:?}", e) + write!(f, "failed to register ioevent to VM: {}", e) } DeviceRegistrationError::RegisterIrqfd(e) => { - write!(f, "failed to register irq eventfd to VM: {:?}", e) + write!(f, "failed to register irq eventfd to VM: {}", e) } DeviceRegistrationError::ProxyDeviceCreation(e) => { write!(f, "failed to create proxy device: {}", e) @@ -223,14 +221,12 @@ pub enum LoadImageError { impl fmt::Display for LoadImageError { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + use self::LoadImageError::*; + match self { - LoadImageError::Seek(e) => write!(f, "Seek failed: {:?}", e), - LoadImageError::ImageSizeTooLarge(size) => { - write!(f, "Image size too large: {:?}", size) - } - LoadImageError::ReadToMemory(e) => { - write!(f, "Reading image into memory failed: {:?}", e) - } + Seek(e) => write!(f, "Seek failed: {}", e), + ImageSizeTooLarge(size) => write!(f, "Image size too large: {}", size), + ReadToMemory(e) => write!(f, "Reading image into memory failed: {}", e), } } } |