Thanks for taking the time to help me, PhiLo. I've edited the code in my first post to remove the try/catch (also, reverted the "debug[0]=("Got exit 0: " + exits.get(0));" stuff back to println - that was gibberish code from an abortive debugging attempt. Never fully implemented it, thought I'd taken it out before I posted the thread.)
Anyway, even without the try/catch, I'm not getting any error messages when it crashes. Maybe this wasn't clear earlier, but my program isn't crashing within Processing, it's crashing the whole application. About half the time I run it, the program chokes up. The stop button and menu commands in the PDE are unresponsive, and I can't close either of the windows. After a minute or so, the PDE crashes, but the display window won't go away unless I force it closed through the Task Manager.
This process doesn't produce any error messages, and trying to pin down where it's happening by printing to the output window doesn't help: the crash doesn't happen consistently in one place, and occasionally it happens right in the middle of outputting something to the output window. I'll have a comment like, "Getting color value," and the program crashes in the middle of the word "color."