Os avisos são apenas isso:avisos. Eles são relatados para (geralmente) stderr, mas nada mais é feito. Você não pode pegá-los como exceções porque eles não estão sendo gerados.
Você pode, no entanto, configurar o que fazer com avisos e desativá-los ou transformá-los em exceções, usando os
warnings
módulo. Por exemplo, warnings.filterwarnings('error', category=MySQLdb.Warning)
para ativar os MySQLdb.Warning warnings
em exceções (nesse caso, eles seriam capturados usando seu try/except) ou 'ignore'
para não mostrá-los. Você pode (e provavelmente deve) ter filtros mais refinados do que apenas a categoria.