Ops

What is Ops?

It's just a joke with "try { bla bla bla } catch (NullPointerException e) { bla bla bla bla }".

But i use ops,

It's created only for pratice declarative Rust macros.

But it's functional macro.

Usage:

```rust use std::fmt::Display;

use ops::catch;

fn main() { catch!{() => try { error()?; Ok(()) } ops e: NullPointerException { //do something println!("{}", e) } } }

[derive(Debug)]

struct NullPointerException { message: String, }

impl NullPointerException { fn new(message: &str) -> Self { Self { message: message.into() } } }

impl Display for NullPointerException { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { write!(f, "NullPointerException: {}", self.message) } }

impl std::error::Error for NullPointerException {}

//some stuff fn error() -> Result<(), Box> { Err(Box::new(NullPointerException::new("get out of here"))) }

```

The macro expand to:

```rust

```