evm_interpreter/error/
mod.rs1use alloc::boxed::Box;
2
3mod exit;
4
5pub use self::exit::{ExitError, ExitException, ExitFatal, ExitResult, ExitSucceed};
6
7#[derive(Debug, Eq, PartialEq)]
9pub enum Capture<E, T> {
10 Exit(E),
12 Trap(Box<T>),
15}
16
17impl<E, T> Capture<E, T> {
18 pub fn exit(self) -> Option<E> {
20 match self {
21 Self::Exit(e) => Some(e),
22 Self::Trap(_) => None,
23 }
24 }
25
26 pub fn trap(self) -> Option<Box<T>> {
28 match self {
29 Self::Exit(_) => None,
30 Self::Trap(t) => Some(t),
31 }
32 }
33}