Мне пришлось обработать исключение, перехватив его и сопоставив сообщение, и если сообщение содержит определенный код ошибки, сделайте что-нибудь (не актуально).
Сообщение об исключении следующее (на английском языке * 1034) *, но код и гиббери sh после него одинаковы на любом языке):
$-5002 - $make sure that the consumed quantity of the component item would not cause the item's stock to fall below zero [ige1.whscode][line: 1] , 'production order no: 20580033 line: 1' [الرسالة 3559-7]
Мне пришлось работать с кодом 7-3559
(как показано). В моем коде я только что сделал e.Message.Contains("7-3559")
, и он не смог поймать исключение. Удивляясь, что пошло не так, я скопировал и вставил сообщение об ошибке в regex101.com, и после небольшого количества проб и ошибок я понял, что e.Message.Contains("3559-7")
- это настоящий код, и он работает. Я просто не знаю почему. Что портит строку, чтобы отобразить ее таким образом, что 7-
на самом деле -7
, а также отстает от 3559
?
Думаю, я должен также упомянуть, что я работаю с Visual Studio 2019 и C#.
Проверьте здесь регулярное выражение.
HxD: