Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/26: Рейтинг темы: голосов - 26, средняя оценка - 4.50
Lucia000
9 / 9 / 1
Регистрация: 20.05.2012
Сообщений: 138
1

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

12.04.2013, 00:18. Просмотров 4748. Ответов 3
Метки нет (Все метки)

Разработать приложение Windows Forms, реализующее обработку различных исключений Format Exception, Index out of Range и извещающую пользователя об обработке соответствующих исключений:
1) деление на ноль
2) исключение формата
3) иск. выхода пар-ра за границы
Это я сделала, а вот какую еще можно взять функцию, которая обрабатывала еще одно исключение?

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
double a = 0;
double b = 0;
try
{
a = Convert.ToDouble(textBox1.Text);
b = Convert.ToDouble(textBox2.Text);
}
catch (System.Exception ex)
{
MessageBox.Show("Ошибка формата!");
}
label2.Text = Convert.ToString(a + b);
}

private void button2_Click(object sender, EventArgs e)
{
string[] s1 = new string[2] { "Иванов И.И.", "Петрова В.А"};
try
{
int i = Convert.ToInt16(textBox3.Text)-1;
label3.Text = s1[i];
}
catch (System.Exception ex1)
{
label3.Text = "Ошибка, неверные данные!";
}

}

private void button3_Click(object sender, EventArgs e)
{
int a, b, result = 0;

try
{

a = Convert.ToInt16(textBox4.Text);
b = Convert.ToInt16(textBox5.Text);

result = a / b;
label6.Text = result.ToString();
}
catch (System.Exception ex2)
{
label6.Text = "Ошибка. Неверные данные или деление на 0";
}

}

private void Form1_Load(object sender, EventArgs e)
{

}
}
}
1
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2013, 00:18
Ответы с готовыми решениями:

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

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

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

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

3
Goal
Футболист
522 / 424 / 140
Регистрация: 31.10.2011
Сообщений: 1,008
Завершенные тесты: 2
12.04.2013, 03:12 2
1) деление на ноль - DivideByZeroException
2) исключение формата - FormatException
3) иск. выхода пар-ра за границы - ArgumentOutOfRangeException или IndexOutOfRangeException


пример
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                Console.WriteLine("enter value from 0 to 100");
                int inputValue = Int32.Parse(Console.ReadLine());
                if (inputValue >100 || inputValue<0)
                {
                    throw new IndexOutOfRangeException(); 
                }
                double dvalue = 100 / inputValue;
                
            }
            catch (FormatException e)
            {
                Console.WriteLine(e.Message);
            }
            catch (IndexOutOfRangeException e)
            {
                Console.WriteLine(e.Message);
            }
            catch (DivideByZeroException e)
            {
                Console.WriteLine(e.Message);
            }
            catch(Exception e)
            {
                Console.WriteLine(e.Message);
            }
            Console.ReadLine();
        }
    }
}

В идеале можно написать 1 блок, catch(Exception e).
мб и накосячил, так что прошу исправить меня если я не прав
1
Lucia000
9 / 9 / 1
Регистрация: 20.05.2012
Сообщений: 138
18.04.2013, 12:47  [ТС] 3
Цитата Сообщение от Goal Посмотреть сообщение
try
{
Console.WriteLine("enter value from 0 to 100");
int inputValue = Int32.Parse(Console.ReadLine());
if (inputValue >100 || inputValue<0)
{
throw new IndexOutOfRangeException();
}
double dvalue = 100 / inputValue;
}
catch (FormatException e)
{
Console.WriteLine(e.Message);
}
catch (IndexOutOfRangeException e)
{
Console.WriteLine(e.Message);
}
catch (DivideByZeroException e)
{
Console.WriteLine(e.Message);
}
catch(Exception e)
{
Console.WriteLine(e.Message);
}
Console.ReadLine();
}
}
}
это в button3 вставить? а то там какая-то ошибка возникает...

Добавлено через 20 часов 16 минут
а как для формы это записать?
0
Lokko
Танцы с бубном
64 / 65 / 26
Регистрация: 27.03.2013
Сообщений: 279
18.04.2013, 12:53 4
Цитата Сообщение от Lucia000 Посмотреть сообщение
это в button3 вставить? а то там какая-то ошибка возникает...
Что за ошибка? укажите весь код как вы сделали на примере Goal.
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.04.2013, 12:53

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

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

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

Обработка исключений при запуске процесса
Добрый день. С C# работаю крайне малое время. Из моей программы планируется запускать другие...

Обработка исключений для изменения строки
private void button1_Click(object sender, EventArgs e) { stroka =...


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

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

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