Вам, вероятно, нужно показать еще немного своего кода, чтобы кто-нибудь мог вам помочь. Я столкнулся с подобной проблемой, но мое приложение немного отличается. Я сделаю все возможное, чтобы помочь.
Вам необходимо обработать возникшую ошибку.
Поэтому, когда вы получаете исключение, вам нужно сделать что-то вроде этого:
при условии, что это ваша ошибка:
COMError: (-2146822496, Нет, («Файл, похоже, поврежден.», «Microsoft Word», «wdmain11.chm», 25272, Нет))
except comtypes.COMError as ce:
# get the error information
target_error = ce.args # error in a tuple form
# target_error[0] -> -2146822496
# target_error[1] -> None
# target_error[2] -> 'The file appears to be corrupted.', 'Microsoft Word', 'wdmain11.chm', 25272, None
# target_error[2] is another tuple made up of
# [2][0] -> 'The file appears to be corrupted.'
# [2][1] -> 'Microsoft Word'
# [2][2] -> 'wdmain11.chm'
# [2][3] -> 25272
# [2][4] -> None
if target_error[2][0] == 'The file appears to be corrupted.':
print("# handle your error here inside this if statement")
Суть в том, что, как только вы получите реальную ошибку, вы можете сделать что-то, чтобы соответственно обработать ее.
Опять же, не видя ваш код, трудно дать больше советов, но вы можете обработать ошибку на основе типа приложения («Microsoft Word») или кода ошибки («Файл поврежден»).