Blog

Eric Peterson

December 18, 2017

Spread the word


Share your thoughts

ForgeBox with Santa hat Today let's look at a quick, fun module today. It will make your exception experience in development just a little bit nicer. It's called [`whoops`](https://www.forgebox.io/view/whoops).

whoops

Based off of the PHP package of the same name, whoops is a development exception experience. It shows an interactive stack trace, the code in question with the line highlighted, and some application and request information to help you track down problems in your application.

This is a module that is better told in pictures:

whoops screenshot 1 whoops screenshot 2 whoops screenshot 3

Get Started

It couldn't be easier to get started:


CommandBox> install whoops --saveDev

Happy debugging!

Add Your Comment

(2)

Dec 19, 2017 07:00:42 UTC

by Daniel Fredericks

Hey, could you provide a bit more info on this...is it a CB only, or can it run with FW/1, or non-framework code?

I guess you cd into your project then install woops? then when you run your code, it will fire off woops in the browser when/if it finds an error, and then brings up the code?

Just wondering how to use it beyond just the pics...want to see if it is something for us at work or not...

thanks

Dec 19, 2017 18:32:24 UTC

by Eric Peterson

Hi, Dan. This is currently ColdBox only, as it uses the onError interception point. It likely could be extended easily to use the Application.cfc onError lifecycle method.

Recent Entries

MatchBox and WebAssembly: Running BoxLang in the Browser and at the Edge

MatchBox and WebAssembly: Running BoxLang in the Browser and at the Edge

The MatchBox open beta is live at https://boxlang.ortusbooks.com/boxlang-framework/matchbox, and it brings something genuinely new to the BoxLang ecosystem: a path into WebAssembly.

That means BoxLang code can now move into browser applications, static-site deployments, edge runtimes, and WASI-style containers - without requiring a JVM. The feature is still beta, but the core direction is already useful: write BoxLang, compile it with MatchBox, and ship the generated WASM artifact to wherever a small portable runtime makes sense.

Jacob Beers
Jacob Beers
June 04, 2026