Вы не можете гарантировать, что сообщение об исключении будет на английском языке; это зависит от настроек системы за вашим контролем.
Как правило, вы не должны анализировать сообщение об исключении, а скорее полагаться на исключение типов и, если они есть, коды ошибок (которые не зависят от языка).
Например, вместо того, чтобы перехватывать только один тип исключения и анализировать сообщение ...
try {
do_something();
} catch (Exception exc) {
if (exc.Message.Contains("String or binary data would be truncated"){
MessageBox.Show("An error occurred...");
}
}
... вы можете использовать несколько обработчиков исключений:
try {
do_something();
} catch (SqlException sql) {
MessageBox.Show("An error occurred...");
} catch (SomeOtherException someExc){
// exception-specific code here...
} catch (Exception exc) {
// most generic error...
}