powered by simpleCommunicator - 2.0.57     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Рекурсия через catch
3 сообщений из 3, страница 1 из 1
Рекурсия через catch
    #38167753
sutni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Беру из чужой dll функцию, которая может вызвать исключение при передаваемых мной параметрах (передаю изображение). Но при этом есть вероятность, что если я немного изменю параметр (например размер изображения), то функция отработает нормально.
Делаю схематично так так:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
private static Result executeDecode(WriteableBitmap image, double resizeCoef = 1.0)
        {
            Result decodedResult = null;
            try
            {
                if (Math.Abs(resizeCoef - 1) > double.Epsilon)
                {
                    image = image.Resize(
                                    (int)((double)image.PixelWidth * resizeCoef),
                                    (int)((double)image.PixelHeight * resizeCoef),
                                    WriteableBitmapExtensions.Interpolation.Bilinear);
                }
                decodedResult = ЧУЖАЯФУНКЦИЯКОТОРАЯМОЖЕТВЫЗВАТЬИСКЛЮЧЕНИЕ(image);                
            }
            catch(Exception)
            {
                if (m_decodeCount < m_maxDecodeCount)
                {
                    m_decodeCount++;
                    decodedResult = executeDecode(image, 0.5); //РЕКУРСИЯ
                }
                else 
                { 
                    MessageBox.Show(String.Format("Error after {0} try.", m_decodeCount)); 
                }
            }
            return decodedResult;
        }



Не уверен по поводу безопасности данного кода.
Может есть более толковые варианты?
...
Рейтинг: 0 / 0
Рекурсия через catch
    #38167763
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sutniМожет есть более толковые варианты?
ясенхер есть, просто цикл написать
...
Рейтинг: 0 / 0
Рекурсия через catch
    #38167813
sutni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ИзопропилsutniМожет есть более толковые варианты?
ясенхер есть, просто цикл написать

и то верно! спасибо!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Рекурсия через catch
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]