The language I use doesn't prohibit display/logging of full stack trace if you catch exceptions. Or, trivially, catch/log in production catch/rethrow in dev.
What about daemons? large batch programs? I, personally, would rather have them catch and alert(email, sms) unknown/unexpected exceptions continuing on with what they can rather than simply die.
That's assuming you can continue on. Daemons and batch programs are unusual in that every so often, there's a conceptual "wipe clean" and all prior state doesn't matter. These are situations in which you know how to handle an error.
The alternative, to continue on in an error state without knowing how it will effect execution, is worse.
What about daemons? large batch programs? I, personally, would rather have them catch and alert(email, sms) unknown/unexpected exceptions continuing on with what they can rather than simply die.