Devel::...:Builtin(3)

πŸ’… Devel::Confess::Builtin β€” like, the Perl doc page, bestie

okay so real quick, before we even start: this is a User Contributed Perl Documentation page for Devel::Confess::Builtin. yes the header up top is all truncated and mysterious looking, but that's just how the terminal renders it, don't panic 🫢


✨ NAME ✨

Devel::Confess::Builtin β€” bestie, it enables built-in stack traces on exception objects. that's the whole vibe. πŸŽ€


🌸 SYNOPSIS 🌸

use Devel::Confess::Builtin;
use Exception::Class 'MyException';

MyException->throw; # includes stack trace

like, that's it. you literally use it, and suddenly your exceptions are showing up with receipts. πŸ‘‘


πŸ¦‹ DESCRIPTION πŸ¦‹

so here's the tea β˜• β€” lots of exception modules can give you stack traces, but the way that they just don't by default is honestly criminal. this module rolls up and forces as many of those modules as possible to include stack traces by default. iconic behavior, no notes. πŸ’…

and the best part? it can be loaded before or after the exception modules and it will still function. it's giving flexibility, it's giving low-maintenance queen. ✨

for supported modules, it will also prevent Devel::Confess from attaching its own stack traces. so no double-stacking, no weird duplicate energy β€” we keep it clean. 🧚


🌈 SUPPORTED MODULES 🌈

the girlies that get the glow-up:

  • Exception::Class
  • Ouch
  • Class::Throwable
  • Exception::Base

πŸ’€ CAVEATS πŸ’€

okay so minor warning, and I need you to hear me on this one: this module relies partly on the internal implementation of the modules it affects. which means future updates to those modules could break this module, or this module could break them. 😭

so like... it's a little bit of a situationship with internal APIs. it works right now, but nothing is guaranteed forever. ngl, just be aware. πŸ™ˆ


πŸ“ the cute sign-off πŸ“

this little beauty comes from perl v5.42.0, dated 2017-02-21 β€” vintage but still slaying, fr fr. go forth and have stack traces by default, my love. πŸ’–πŸ¦‹πŸŒŸ

πŸ“¦ where this page comes from