added smarter exception logging