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) } } }
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
```
The macro expand to:
```rust
```