Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Приостановка выполнения функций / 5 сообщений из 5, страница 1 из 1
26.08.2004, 18:01
    #32667674
smathcopm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Приостановка выполнения функций
Есть несколько функций, и нет никакого желания в каждой делать свою проверку поступившего в них string-выражения. Хочеться чтоб каждая из них перед своим выполнением обращалась к отвечающей функции и, если ответ от неё будет получен не пустой (""), то запрашивающая проверку функция прекращала бы своё выполнение.

К примеру

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
private void a0(string str)
{
exeption(str);  // Если ошибка, то замараживаем выполнение a0... 
...
}

private void a1(string str)
{
exeption(str);  // Если ошибка, то замараживаем выполнение a1... 
...
}

private void exeption(string str)
{
 // ... а вот что здесь написать??? 
}

P.S.: Использовать if-ы в каждой функции желания нет.
...
Рейтинг: 0 / 0
26.08.2004, 18:12
    #32667695
Alexey Kudinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Приостановка выполнения функций
Что-то не совсем понятно, что Вы собираетесь сделать. Что именно значит "замораживаем выполнение ?" Выйти по Return или что-то другое ?

Ну да ладно, возможности осуществить проверку безусловно есть:

1 - метод exeption может поднимать собственно Exception, к-й перехватывается и обрабатывается в вызывающих методах

2 - метод exeption может быть не void, а возвращать код ошибки, либо просто true/false (успешно прошла проверка или неуспешно)
...
Рейтинг: 0 / 0
27.08.2004, 08:39
    #32668120
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Приостановка выполнения функций
Присоединяюсь к Alexey Kudinov

Вариант (1) рекомендуется к применению самой MS т.к. вариант (2) с недавнего времени стал считатся устаревшим способом :-)

Однако !!!!!! вызов exception требует больше ресурсов.

P.S. ИМХО красивее получается с вызовом Exception.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
28.08.2004, 15:57
    #32669937
smathcopm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Приостановка выполнения функций
Проблема не в вызове exception, а в том, что этот экзэпшн находится в другой функции, выполнение которой и приостанавливается, однако ссылающиеся на
Код: plaintext
private void exeption(string str)
функции продолжают своё выполнения и после строчки
Код: plaintext
exeption(str);
А моя задача в том, чтобы этого не случилось.
Иначе что толку: Exception происходит, а функция выполняется...
...
Рейтинг: 0 / 0
29.08.2004, 12:19
    #32670139
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Приостановка выполнения функций
Проблема не в вызове exception, а в том, что этот экзэпшн находится в другой функции, выполнение которой и приостанавливается, однако ссылающиеся на


Например:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
private void a0(string str)
{
	try 
	{
		exeption(str);
	}
	catch (Exception ex)
	{
		System.Windows.Forms.MessageBox.Show(ex.Message);
		return;			
	}
	System.Windows.Forms.MessageBox.Show("Ошибки нет, продолжаем выполнение");
}

private void exeption(string str)
{
	throw new Exception("Произошла ошибка")
}

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


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