I'm creating this ticket to help us track the work going on over at xmonad/xmonad-contrib#146.
Starting with the getWindowAttributes function, start creating versions that return Maybe a instead of throwing an exception. I'm not sure what the new naming scheme should be, but the original functions should just call the new version and throw if they get Nothing back.