catch (NumberFormatException e) — КиберПедия 

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

catch (NumberFormatException e)

2017-12-21 224
catch (NumberFormatException e) 0.00 из 5.00 0 оценок
Заказать работу

{

tB.setText (tB.getText () +

" Error! Enter the correct number");

}

}

});

this.addWindowListener (new WindowAdapter ()

{

public void windowClosing (WindowEvent wE)

{

System.exit (0);

}

});

}

 

public static void main () // Главная функция

{

CTextBox cT= new CTextBox ();

cT.show ();

}

}

 

///////////////

C#

using System;

using System.Drawing;

using System.Windows.Forms;

 

class CTextBox: Form // Класс прикладного окна

{

TextBox tB; // Редактор

Button b; // Кнопка

 

public CTextBox() // Конструктор

{

Text="TestNumber"; // Установить заголовок прикладного окна

 

tB= new TextBox (); // Создать редактор

tB.Location= new Point (10, 30);// Разместить

tB.Size= new Size (250, 20); // Установить размер

tB.Text= "Enter the number"; // Установить текст в редакторе

this.Controls.Add (tB); // Добавить редактор в форму

b= new Button (); // Создать кнопку

b.Text= "OK"; // Установить название кнопки

b.Location= new Point (10, 50); // Разместить кнопку

b.Size= new Size (40, 30); // Установить размер кнопки

Controls.Add (b); // Добавить кнопку в форму

b.Click += new EventHandler (But); // Подписать обработчик

}

 

private void But (Object obj, EventArgs a)

{

string st= tB.Text;

Try

{

int n=System.Convert.ToInt32 (st);

if(n<0) tB.Text= "negative";

else tB.Text= "positive";

}

//catch (Exception e)

Catch (FormatException e)

{

tB.Text= tB.Text + " Error! Enter the correct number";

}

}

 

static void Main () // Главная функция

{

CTextBox cT= new CTextBox ();

Application.Run (cT);

}

}

 

///////////////

// C++/CLI

#include "stdafx.h"

#using <System.Drawing.dll>

#using <System.Windows.Forms.dll>

using namespace System;

using namespace System::Windows::Forms;

using namespace System::Drawing;

 

ref class CTextBox: Form // Класс прикладного окна

{

TextBox ^tB; // Редактор

Button ^b; // Кнопка

 

public:

CTextBox() // Конструктор

{

Text="TestNumber"; // Установить заголовок прикладного окна

tB= gcnew TextBox (); // Создать редактор

tB->Location= *gcnew Point (10, 30); // Разместить

tB->Size= *gcnew Drawing::Size (250, 20); // Установить размер

tB->Text= "Enter the number"; // Установить текст в редакторе

this->Controls->Add (tB); // Добавить редактор в форму

b= gcnew Button (); // Создать кнопку

b->Text= "OK"; // Установить название кнопки

b->Location= *gcnew Drawing::Point (10, 50); // Разместить кнопку

b->Size= *gcnew Drawing::Size (40, 30); // Установить размер

Controls->Add (b); // Добавить кнопку в форму

// Подписать обработчик

b->Click += gcnew EventHandler (this, &CTextBox::But);

 

}

 

private:

void But (Object ^obj, EventArgs ^a)

{

String ^st= tB->Text;

try

{

int n=System::Convert::ToInt32 (st);

if(n<0) tB->Text= "negative";

else tB->Text= "positive";

}

//catch (Exception e)

catch (FormatException ^e)

{

tB->Text= tB->Text + " Error! Enter the correct number";

}

}

};

 

 

void main ()

{

Application::Run (gcnew CTextBox ()); // Выполнить

}

 

 

C# и C++/CLI. Обработчик But() кнопки извлекает строку из редактора текста, применив свойство Text редактора. В блоке try-catch осуществляется преобразование извлечённой строки в целое число с помощью статической функции ToInt32() класса Convert. Если символы преобразуемой строки не являются цифрами, то во время преобразования будет выброшено исключение типа FormatException и в текстовом редакторе появится строка Error! Enter the correct number. Иначе положительное число в поле редактора заменится на слово positive, а отрицательное на negative.

 

Java и J#. На событие кнопки с помощью функции addActionListener() подписан объект анонимного класса ActionListener адаптера с обработчиком actionPerformed(). Обработчик в блоке try-catch извлекает из объекта tB редактора строку, используя статическую функцию parseInt() класса Integer и свойство getText() редактора. Результат работы программы совпадает с результатом работы программы на языке C#.

Обратите внимание, что в теле конструктора CTextBox() на языке Java аргумент функции setLayout (null) установки менеджера расстановки равен null, поэтому размещение редактора и кнопки в окне осуществляется не менеджером, а программистом с помощью свойств setLocation(), setSize() и setText().

 

 

Рис. 9.10.4. Прикладное окно приложения примера 9.10.4 после ввода положительного числа и нажатия на кнопку

 


Поделиться с друзьями:

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.012 с.