Forum OpenACS Q&A: Throwing Error When Reloaded File Fails
Unfortunatly the APM doesn't notice when that happens and will merrily serve the page with the old version of the foo-procs.tcl which is never what you want.
I tried to edit apm_source so that it didn't do the source inside a catch loop but that error was still caught.
1 question and 1 proposal:
Question: How can I make that proc throw an error that will actually stop execution of my page.
Proposal: We make that the standard behaviour of the system.
An alternative to breaking the package would be to flag the package file's reload status on the APM's watch/status page. Maybe even catch and display the result of the reload (error messages) on an APM page.
Maybe a red X icon next to the package/file that, when clicked, would display the error report?
I agree with Randy that an error in a reloaded file shouldn't be able to bring down the entire site. A visual indication of a failure would be nice, but to be honest for my personal use it's sufficient to know that the error log needs to be inspected when reloading didn't bring the desired results.
You are unlikely to be able to fix the error in the UI since you created it by breaking a file. The reload changed files is a developer feature and should not be used on production sites.
I will file a TIP for this.