I downloaded and installed the new Microsoft Java VM, version 3165. It fixed a bug that occurred in version 3158 (and possibly other earlier versions) which caused the following program to hang instead of throwing an exception:
public class MSVM3158 {
public static void main (String [] args) throws Exception
{
try {
throw new Exception ("xxx");
} finally {
}
}
}