Mac 0.80b beta - says "database corrupted" and then Bitcoin-Qt quit unexpectedly
Joric's fork of pywallet can read a wallet.dat, decrypt it with your pass phrase and then you can export the keys.  But if it is corrupted and Bitcoin-Qt can't read it then pywallet may fare no better.

Doesn't hurt to give it a try.