Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

OPI_RGZ_2011

.pdf
Скачиваний:
16
Добавлен:
07.02.2016
Размер:
2.93 Mб
Скачать

71

itemExit.Click += ExitOnClick; itemFile.DropDownItems.Add(itemExit);

//XIL6@;9;;F 56BCD?K Help

//Y6:I;CI About...

ToolStripMenuItem itemAbout = new ToolStripMenuItem(); itemAbout.Text = "&456 L56U5I:K..."; itemAbout.ShortcutKeys = Keys.Control | Keys.A; // Ctrl+A

itemAbout.ShortcutKeyDisplayString = "Ctrl^A";// E8@659;;F "UI5FcMS"

H?I@De C?F bT6U6 :9;<

itemAbout.ShowShortcutKeys = true;// [DC6J5I_K@I8M @ H6:I;CD itemAbout.Click += AboutOnClick; itemHelp.DropDownItems.Add(itemAbout);

}

// fJ56J;MH L6CDO

void OpenOnClick(object sender, EventArgs e)

{

MessageBox.Show("XIU68D@?F 6LbDG \"[DCH5M8M\"", this.Text);

}

void ExitOnClick(object sender, EventArgs e)

{

this.Close();

}

void AboutOnClick(object sender, EventArgs e)

{

MessageBox.Show("XIU68D@?F 6LbDG \"456 L56U5I:K...\"", this.Text);

}

}

}

3.2.2 F F #' ' c%) !, ) %!

5 ( K K - ( . 7

, K . u o

9 n 9 , , -

, o 9

Kn, . Visual C # K 9 9-

, n K , 9 9-

, , ( . J , ( K 9'n

.

72

3.2.2.1 N , c, , F F , !, ) %!

: d , n

(exception). : 9 K

, o System.Exception. v K -

, 9 K 9 9 K, -

:

Message —

K d ( ;

StackTrace — 9 n ; - 9 n d , .

5 , o K K, n-

K

System.ApplicationException. ' -

Kn K n

, , .

n , 9 , o

. u o n , 9 9 -

, 9 9 n, d n -

. . u o , 9 9

d , n 9 9 -

, . : 9 ( n -

9- , 9'- n , n , K 9

9 .

9 9 n

9 9, , 9

.

! ' ) F F , %! !, ) %!

.9 9 K . (-

9 9 9 , n

9 9 9 ,

n. .9 9

, K , K

. A 9 9 try

... catch ... finally.

73

try–9 Kn , o n

, ( 9

.

catch–9 Kn , 9 9 Kn , o 9 K 9 try.

finally–9 Kn , o o n 9- -

n d , 9 9 try catch.

. 9 9 :

, , 9 try;

9 9 catch, o 9 9 K -

, ( 9 try;

9 finally , 9 9-

. v 9 ( ,

. ::

try

{

//iK8 B;IS6CM8T7F B@McIO;MO H6C L56U5I:M

}

catch

{

//fJ56JHI L6:M?6H

}

Finally

{

// fcMj9;;F

}

. catch ( n 9'n

. v , o 9 9

n 9'n . J

, n K K

9 catch, 9 9 . 6,

, ( :

9 finally o K , 9 - ( , . v ( 9 , 9 n

, n 9 , n

. . 9 try. .. catch .. finally:

5 n 1/x 9

9 :

static void Main()

{

int x DE4A

74

int y =1 / x; Console.WriteLine(y);

}

v n x>0. u o -

, n :

static void Main()

{

try

{

int x = int.Parse(Console.ReadLine()); int y =1 / x;

Console.WriteLine("y={0}", y); Console.WriteLine("J?6H try @MH6;I;6 @CI?6 ");

}

catch

{

Console.WriteLine("@M;MH?I L6:M?HI");

}

Console.WriteLine("HD;9bT L56U5I:M");

}

A 9 9 9. 3.1.

6 9 3.1 – A 9 9

5

.

ArithmeticException

'

 

 

ArrayTypeMismatchException

8 9 9 (

 

 

DivideByZeroException

8 9

FormatException

8 9

 

 

IndexOutOfRangeException

„ K

 

 

InvalidCastException

'

OutOfMemoryException

5

 

9n

OverflowException

' -

 

 

StackOverflowException

'

75

A o 9 9 9 9:

9 try , , - 9 9 9;

o 9 9 ,

9 9 catch ;

, 9 ( -

9 finally.

/ Exception

7 9 Exception, o 9 ,

K ( 9 9 , - n 9'n, o n .

. n:

Message — , o n . -

n Kn -, Kn 9'n, o n ;

HelpLink — (URL) , o

( - 9 ;

InnerException — d . J 9- 9 n 9 9

, n d K

;

Source — ' , o K ;

StackTrace — K( — , o 9 K

;

TargetSite — , .

GetBaseException. ' -

K( n

d .

J n , ( .

. 9 , — n , o n K Message, — n o : -, InnerException.

K Kn -

InnerExceptions. A (

76

, o n 9 9

:

static public void PrintProperties (Exception e)

{

Console.WriteLine ("[?I78M@678D @M;F8HK:"); Console.WriteLine ("TargetSite = {0}", e.TargetSite); Console.WriteLine ("Source = {0}", e.Source); Console.WriteLine ("Message = {0}", e.Message);

if (e.InnerException == null) Console.WriteLine ("InnerException = null"); else Console.WriteLine ("InnerException = {0}", e.InnerException.Message);

Console.WriteLine ("StackTrace = {0}", e.StackTrace); Console.WriteLine ("GetBaseException = {0}", e.GetBaseException ());

}

5 o , o -

-

. 8 ' (

:

9 9 9 -

, -

, o ;

o K n,

9 , o 9 9 ,

K .

3.2.2.2 P' ' c%) !, ) %!

A ( 9 .

( :

, n

9 9 K. ' 9 9 -

, o 9 d 9 9;

9 ,

n . ' 9 9-

, d .NET 9 -

, .

.9 K .

77

3.2.2.3 N ! #' ' c%) !, ) %!

„ 9 9 n K 9 9

. 5, 9 , o n

9 9, n

NullReferenceException. d 9 9

(, ( , n. : d

, 9 9, o . u o

n 9 catch,

K K throw, :

try

{

//iK8 L6@M;9; JK8M H6C C6CI8HK,

}

catch (System.NullReferenceException e)

{

//q 7<CM L6:DjI<8T H6C, FHMO L959@D5Fr @M;F86H D L686c;MO H6;89H78,

//s6J @MB;IcM8M, cM :6_;I 6J56JM8M @M;F86H @ CI;6:K J?6bD catch,

//4959CI;6 @Mj9 L6 789HK. tHj6 @6;6 ;9 :6_9 JK8M 6J56J?9;6 ?6HI?T;6.

//u6HI?T;6, ;I78KL;MO 5FC6H U9;95Kr @M;F86H L6@865;6 D L959CIr

//v6U6 CI?D L6 789HK.

throw e;

}

' 9 catch, n -

9'n , 9 ( -

K K throw, d

9 .

9

. A

d , -

n 9 d. ' 9'n

n InnerException 9'n -

. v n

, d -

d Inner Exception. 5 ( n -, o n , 9-

K n:

/ / w9 L6cI86H J?6HK Catch. catch (NullReferenceException e)

78

{

throw new NullReferenceException ("FHMO7T 89H78", e);

}

u :

o 9 , 9 Catch (catch), K Throw (throw);

o 9 , o n

, 9'n , o n 9 K

, K K-

throw.

3.2.2.4 ' ( ,0 !, )

' 9 ( 9 -

. u o 9 n -

, n . A

( K , -

K K d -

.

'. , d -

. 5 n (

n — . :

, ( -9 d (.

5 , ( K

System.ApplitalionException. v Kn K 9 -

, Message, StackTrace InnerException, ( K , - n 9 d .

5 ( ,

Application Exception. J

n 9'n Widget, n -

9'n , d :

public class WidgetException: System.ApplicationException

{

// wF B:D;;I BJ95DUIr 6J'rH8 Widget. Widget mWidget;

public Widget ErrorWidget

{

get

79

{

return mWidget;

}

}

//w9O H6;785KH865 L5MO:Ir 6J'rH8 Widget D 5FC6H String, bD

//4I5I:985M :6_;I @MH65M786@K@I8M C?F 6LM7K H6;89H78K L56U5I:M

//QI :6:9;8 L6:M?HM. W6B@6?Fr8T7F 8IH6_ 78@65<@I8M L959@I;8I_9;D @957DG

//Y6;785KH865I, j6 LDC85M:K<8T 5DB;D ;IJ65M LI5I:985D@.

//

//QI78KL;MO 5FC6H @MH?MHIr H6;785KH865 B JIB6@6U6 H?I7K

//y @78I;6@?<r @?I78M@D78T Message,

//z7LICH6@I;9 @DC H?I7K ApplicationException.

public WidgetException (Widget W, string S): base (S)

{

// [78I;6@M8M @?I78M@D78T Widget. mWidget = W;

}

}

. d , n -

, ,

:

Widget Alpha;

/ / iK8 L6@M;9; JK8M H6C, j6 KeH6C_Kr 6J'rH8 Widget B D:'F: Alpha. throw new WidgetException (Alpha, "Widget Alpha is corrupt!");

u :

. : 9 - o System.ApplicationException ( 9- -

, K n, o 9 9 K . v

K -;

d

K K throw,

d .

3.2.2.5 P' ' c%) !/ , !, ) %!

v :

” 9 9 -

throw, d , o K -. ' n 9 9'n, (

System.Exception. v 9'n n -

9 9.

80

static void Main ()

{

try

{

int x = int.Parse (Console.ReadLine ()); if (x <0) throw new Exception (); // 1 Console.WriteLine ("ok");

}

catch

{

Console.WriteLine ("[@9C9;6 ;9H659H8;9 B;Ic9;;F");

}

}

1 K new 9 9'n -

Exception. ' 9 (

9- .

' ( , 9 " " 9 9 . 5:

static void Main ()

{

try

{

int x = int.Parse (Console.ReadLine ());

if (x <0) throw new Exception ("@@9C9;6 ;9L5MLK78M:9 B;Ic9;;F"); //

1

Console.WriteLine ("ok");

}

catch (Exception error)

{

Console.WriteLine (error.Message);

}

}

3.2.2.6 , % (, #' ' c%d !, ) %!

7 9 9

.

' 1. . try-9 ( d. :, -

d try-9 catch-

nK, ' try-9, n d

try-9. 5,

ArithmeticException Kn d try-9, - d.

static void Main ()

{

Console.WriteLine ("a =");

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]