hyperlight_guest/
error.rs1use alloc::format;
18use alloc::string::String;
19
20use hyperlight_common::flatbuffer_wrappers::guest_error::ErrorCode;
21use {anyhow, serde_json};
22
23pub type Result<T> = core::result::Result<T, HyperlightGuestError>;
24
25#[derive(Debug)]
26pub struct HyperlightGuestError {
27 pub kind: ErrorCode,
28 pub message: String,
29}
30
31impl HyperlightGuestError {
32 pub fn new(kind: ErrorCode, message: String) -> Self {
33 Self { kind, message }
34 }
35}
36
37impl From<anyhow::Error> for HyperlightGuestError {
38 fn from(error: anyhow::Error) -> Self {
39 Self {
40 kind: ErrorCode::GuestError,
41 message: format!("Error: {:?}", error),
42 }
43 }
44}
45
46impl From<serde_json::Error> for HyperlightGuestError {
47 fn from(error: serde_json::Error) -> Self {
48 Self {
49 kind: ErrorCode::GuestError,
50 message: format!("Error: {:?}", error),
51 }
52 }
53}