Alzabo...ptions(3pm)

πŸ“¦
version 0.92 Β· 2 versions
  • 0.92 Β· debian bookworm, debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking (latest)
  • 0.92 Β· ubuntu jammy
, in debian bookworm, debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking

✨ NAME ✨

Alzabo::Exceptions β€” it literally just makes all the exception subclasses that Alzabo uses. That's the whole job. She's a builder, not a talker. πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

use Alzabo::Exceptions;

That's it bestie. One line. You use it and boom, the exception classes exist. No arguments, no options, no nothing. Iconic minimalism. ✨


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so here's the tea: just by using this class, it creates all the exception classes that Alzabo needs β€” and it does that through the Exception::Class class. So it's like a little factory, except instead of making Stanley cups it makes error classes. 🫢

If you wanna know the how of all this class-generation business, go peek at Exception::Class β€” that's where the magic recipe lives. πŸ“–


πŸ‘‘ EXCEPTION CLASSES πŸ‘‘

Here's the full roster, no one's getting left out, everyone gets a moment:

  • Alzabo::Exception β€” the base class for every exception Alzabo throws. Lowkey the mother of them all. Every exception out here should return true for $@->isa('Alzabo::Exception') β€” except the ones that come from internal Perl errors, those are doing their own thing, we don't claim them. πŸ’€
  • Alzabo::Exception::Driver β€” something went wrong while talking to a database. For the full lore, check out Alzabo::Driver.
  • Alzabo::Exception::Eval β€” you tried to eval something and the eval was like "no <3". An error came back. 😭
  • Alzabo::Exception::Logic β€” Alzabo got asked to do something logically impossible. Like, retrieving rows for a table that has no primary key. Bestie. You can't sit with us if you don't have a primary key. πŸ™ˆ
  • Alzabo::Exception::NoSuchRow β€” someone tried to fetch data using a primary key that straight up does not exist in the specified table. It's giving "looking for someone who ghosted you". πŸ’€
  • Alzabo::Exception::NotNullable β€” an attempt was made to set a non-nullable column to NULL. Rude. The column_name, table_name, and schema_name fields are there so you can pin down the exact column that caused the drama. πŸ”
  • Alzabo::Exception::Panic β€” thrown when something completely unexpected happens. Think Monty Python. No further questions, we panic. 🧚
  • Alzabo::Exception::Params β€” thrown when there's a problem with the parameters you passed to a method or function. Missing params, invalid values, that whole genre of chaos. πŸ‘‘
  • Alzabo::Exception::RDBMSRules β€” a rule for the relevant RDBMS got violated. Bad schema name, bad table name, bad column attribute, etc. The RDBMS said "read the room". 🚫
  • Alzabo::Exception::ReferentialIntegrity β€” an insert/update/delete was attempted that would violate referential integrity constraints. The vibes were not cohesive. πŸ¦‹
  • Alzabo::Exception::SQL β€” thrown when someone tries to generate invalid SQL through the Alzabo::SQLMaker module. Not the SQL slaying we wanted. 😭
  • Alzabo::Exception::Storable β€” an error when trying to freeze, thaw, or clone an object using Storable. The object did not want to be preserved, bestie. πŸ’…
  • Alzabo::Exception::System β€” some sort of system call failed. File read/write, stat, etc. The operating system said no. πŸ’€
  • Alzabo::Exception::VirtualMethod β€” a virtual method was called. Which is the code's way of saying: this method should be subclassed, you were supposed to override it, go do that. πŸ”₯

🌸 AUTHOR 🌸

Dave Rolsky, <autarch@urth.org> β€” the actual legend behind all of this. 🫢


and that's the whole page, no cap ✨ this was perl v5.34.0, dated 2022-06-14, and yeah β€” the manual page name really is Alzabo...ptions(3pm) because the title got truncated by the renderer. She's mysterious like that. bye bestie, go catch those exceptions πŸ’–

πŸ“¦ where this page comes from