Another possibility:
VOMIT
Because, the ? operator “throws up and returns” any error (bad stuff) to the caller. So, it could be the “vomit operator”. You could say things like, “I called foo with bar and it vomited Error(baz)!”.
If that’s too harsh, how about, one of these:
- hurl (nice because a synonym for both “throw” and “vomit”)
- expel
- eject
I kinda like, “hurl”! (But, I’m still partial to “Bubbles” (not “Bubble”)). It’s the “Bubbles Operator”, It’s the “Vomit Operator”, It’s the “Hurl Operator”.
“Hurl” or “Bubbles” definitely!
“Hurl” works nice with “Catch”.
let x = catch {
SomethingFallible()?;
...
}
Explanation would be:
If something fallible hurls an error I’ll catch it and assign it to x; otherwise, I’ll assign to x whatever the final result of the block is.
-or-
If something fallible bubbles and error I’ll catch it and assign it to x; otherwise, I’ll assign to x whatever the final result of the block is.
When coupled with “catch”, “hurl” works better than “bubbles”, but, I still like “bubbles” a lot.