Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 21.10.2014
Сообщений: 19
1

Обработка исключений

05.12.2015, 21:06. Просмотров 310. Ответов 4
Метки нет (Все метки)

Нужно добавить исключение на ввод некорректных данных.К примеру я ввожу критерий поиска,а его нет в моих записях.Все записи хранятся в XML-файле и выводятся в DataGridView.Никак не могу понять,как это сделать,помогите пожалуйста.
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
29
30
31
32
33
34
35
rivate void button28_Click(object sender, EventArgs e) /// ПОИСК
        {
            if (textBox32.Text.Trim().Length == 0)
            {
                MessageBox.Show("Введите критерий поиска!");
                return;
            }
            var Fined = from list_Birds in Program.list_Birds1
                        where list_Birds.name.ToLower().Contains(textBox32.Text.ToLower()) || list_Birds.habitat.ToLower().Contains(textBox32.Text.ToLower()) || list_Birds.sex.ToLower().Contains(textBox32.Text.ToLower()) || list_Birds.troop.ToLower().Contains(textBox32.Text.ToLower()) || list_Birds.respiratorysystem.ToLower().Contains(textBox32.Text.ToLower()) || list_Birds.beak.ToLower().Contains(textBox32.Text.ToLower())
                        select list_Birds;
 
            string temp = "";
         
           foreach (Birds b in Fined)
                {
                    temp += " Название: " + b.name + Environment.NewLine;
                    temp += " Возраст: " + b.age + Environment.NewLine;
                    temp += " Место обитания: " + b.habitat + Environment.NewLine;
                    temp += " Пол: " + b.sex + Environment.NewLine;
                    temp += " Отряд: " + b.troop + Environment.NewLine;
                    temp += " Строение органов дыхания: " + b.respiratorysystem + Environment.NewLine;
                    temp += " Тип клюва: " + b.beak + Environment.NewLine;
                    temp += " " + Environment.NewLine;
 
 
                }
                if (temp.Length > 0)
                {
                    var form = new Form2();
                    form.richTextBox1.AppendText(temp);
                    form.Show();
                }
 
 
            }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.12.2015, 21:06
Ответы с готовыми решениями:

обработка исключений
Разработать приложение Windows Forms, реализующее обработку различных исключений Format Exception,...

Обработка исключений
Добрейшего времени суток. :senor: Перепробовала несколько способов, но нужного результата не...

Обработка исключений
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data;...

Обработка исключений
Здравствуйте!!! У меня есть несколько классов в них обрабатывается вводимая с формы информация....

4
620 / 488 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
06.12.2015, 00:03 2
Цитата Сообщение от marina2222 Посмотреть сообщение
Нужно добавить исключение
Нужно просто завернуть это в трукач:

C#
1
2
3
4
5
6
7
8
...
try{
var Fined =...
...
}
catch(Exception ex){MessageBox.Show(this, ex.Message, "oy");}
if (temp.Length > 0)
...
0
0 / 0 / 0
Регистрация: 21.10.2014
Сообщений: 19
06.12.2015, 01:26  [ТС] 3
Тогда в условии не переменная temp не обнаруживается.Попросту её не видно
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
29
30
31
  try
            {
                var Fined = from list_Birds in Program.list_Birds1
                            where list_Birds.name.ToLower().Contains(textBox32.Text.ToLower()) || list_Birds.age.Contains(textBox32.Text) || list_Birds.habitat.ToLower().Contains(textBox32.Text.ToLower()) || list_Birds.sex.ToLower().Contains(textBox32.Text.ToLower()) || list_Birds.troop.ToLower().Contains(textBox32.Text.ToLower()) || list_Birds.respiratorysystem.ToLower().Contains(textBox32.Text.ToLower()) || list_Birds.beak.ToLower().Contains(textBox32.Text.ToLower())
                            select list_Birds;
 
                string temp = "";
 
                foreach (Birds b in Fined)
                {
                    temp += " Название: " + b.name + Environment.NewLine;
                    temp += " Возраст: " + b.age + Environment.NewLine;
                    temp += " Место обитания: " + b.habitat + Environment.NewLine;
                    temp += " Пол: " + b.sex + Environment.NewLine;
                    temp += " Отряд: " + b.troop + Environment.NewLine;
                    temp += " Строение органов дыхания: " + b.respiratorysystem + Environment.NewLine;
                    temp += " Тип клюва: " + b.beak + Environment.NewLine;
                    temp += " " + Environment.NewLine;
 
 
                }
            }
            catch (Exception ex) { MessageBox.Show(this, ex.Message, "oy"); }
 
                if (temp.Length > 0)
                {
                    var form = new Form2();
                    form.richTextBox1.AppendText(temp);
                    form.Show();
                }
            }
0
620 / 488 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
06.12.2015, 01:30 4
marina2222,
Строку string temp = ""; надо вынести над трукачом.
Внутри трукача надо написать temp = "";, только присвоение, без указания типа.
0
0 / 0 / 0
Регистрация: 21.10.2014
Сообщений: 19
06.12.2015, 13:37  [ТС] 5
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
private void SearchButton1_Click(object sender, EventArgs e) /// ПОИСК
        {
            if (textBox32.Text.Trim().Length == 0)
            {
                MessageBox.Show("Введите критерий поиска!");
                return;
 
            }
            string temp = "";
            try
            {
              
                var Fined = from list_Birds in Program.list_Birds1
                            where list_Birds.name.ToLower().Contains(textBox32.Text.ToLower()) || list_Birds.age.Contains(textBox32.Text) || list_Birds.habitat.ToLower().Contains(textBox32.Text.ToLower()) || list_Birds.sex.ToLower().Contains(textBox32.Text.ToLower()) || list_Birds.troop.ToLower().Contains(textBox32.Text.ToLower()) || list_Birds.respiratorysystem.ToLower().Contains(textBox32.Text.ToLower()) || list_Birds.beak.ToLower().Contains(textBox32.Text.ToLower())
                            select list_Birds;
 
 
                temp = "";
                foreach (Birds b in Fined)
                {
                    temp += " Название: " + b.name + Environment.NewLine;
                    temp += " Возраст: " + b.age + Environment.NewLine;
                    temp += " Место обитания: " + b.habitat + Environment.NewLine;
                    temp += " Пол: " + b.sex + Environment.NewLine;
                    temp += " Отряд: " + b.troop + Environment.NewLine;
                    temp += " Строение органов дыхания: " + b.respiratorysystem + Environment.NewLine;
                    temp += " Тип клюва: " + b.beak + Environment.NewLine;
                    temp += " " + Environment.NewLine;
 
 
                }
 
            }
 
            catch (Exception ex) { MessageBox.Show(this, ex.Message, "Мяу"); }
                if (temp.Length > 0)
                {
                    var form = new Form2();
                    form.richTextBox1.AppendText(temp);
                    form.Show();
                }
           
            }
Выполнила так,как вы написали.Программа не видит ошибок,но и исключения не выдаёт.Мне нужно проверять в документе XML есть ли такая запись или нет,если есть то выводить на форму 2,которая уже подключена(это работает прекрасно),а если нет записи,то выводить соответствующее собщение,что нет такой записи в базе данных
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.12.2015, 13:37

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Обработка исключений
Здравствуйте форумчане!не могу догнать как сделать так, что бы пока все условия не будут соблюдены...

Обработка исключений
Проблема состоит в том, что после того, как я в поле "Доля от сделки" ввожу не число а букву, то...

Обработка исключений для textbox
У меня 3 текст бокса. Я хочу, чтобы нельзя было вводить буквы, а также значение а больше 3,...

Обработка исключений и вывод соответствующего сообщения
Помогите пожалуйста организовать вывод сообщения о том,что критерий поиска не удовлетворяет запросу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.