Skip to content

Gracefully handle exceptions in UI Automation initialisation #483

@nvaccessAuto

Description

@nvaccessAuto

Reported by jteh on 2009-11-27 05:49
A user reported that NVDA 2009.1 wouldn't start on his system. The log revealed that creating the UI Automation client object threw a "class not registered" error. While this is almost certainly due to brokenness on the system (maybe a broken install of the Platform Update?), UI Automation isn't essential and we can probably get away with just logging an error if it fails to initialise.

There are two ways we can do this (if we choose to do it at all):

  1. Catch any exceptions in UIAHandler.initialize() and log them there; or
  2. Catch exceptions from UIAHandler.initialize() in core.main() and log the error there.
    Personally, I probaby prefer option 2, as initialisation really did fail, so core should know about it. Having said that, initialize() doesn't do anything special if UIA wasn't present, which makes this argument less valid.

Metadata

Metadata

Assignees

Labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions