I noticed that calling various members of the DriveInfo class will cause an error if the drive is not ready; therefore, check the IsReady property to determine if the drive is ready accordingly.
Also, all types of optical drives have a DriveType enumeration of CDRom.