Π§ΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ if-ΠΎΠ²: ΠΏΠΎΡΠ΅ΠΌΡ Π½Π΅Ρ?
Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π², ΠΌΡ ΡΠΈΡΠ°Π΅ΠΌ ΠΊΠΎΠ΄ ΡΠ°ΡΠ΅, ΡΠ΅ΠΌ ΠΏΠΈΡΠ΅ΠΌ. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΡΠ°ΠΊΡΠΈΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π°ΡΠ΅Π»Π΅Π½Ρ Π½Π° ΡΠΏΡΠΎΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π°: ΡΠ΅ΠΌ ΠΏΡΠΎΡΠ΅ ΠΊΠΎΠ΄, ΡΠ΅ΠΌ ΠΌΠ΅Π½ΡΡΠ΅ Π±Π°Π³ΠΎΠ² ΠΎΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈ ΡΠ΅ΠΌ ΠΏΡΠΎΡΠ΅ Π΅Π³ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Ρ ΠΎΠ΄Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠ°ΡΠΊΠΈΡΡΠ΅Ρ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΏΠ»ΠΎΡ ΠΎΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΎΠΉ.
ΠΠ΅ΡΠΎΠ΄ ProcessItem ΡΡΠ»ΠΎΠΆΠ½ΡΠ΅Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, Ρ.ΠΊ. Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΡΡΠΎ Π³Π»ΡΠ΄Ρ Π½Π° Π΅Π³ΠΎ ΡΠΈΠ³Π½Π°ΡΡΡΡ. ΠΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΊΠΎΠ΄ Π½Π°ΡΡΡΠ°Π΅Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏ Π½Π°ΠΈΠΌΠ΅ΡΠ΅Π³ΠΎ ΡΠ΄ΠΈΠ²Π»Π΅Π½ΠΈΡ, Ρ.ΠΊ. Π±ΡΠΎΡΠ°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π°ΠΆΠ΅ Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΡ ΠΎΠ΄Π°.
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ β Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π½ΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π° Π²ΠΎΠ·Π²ΡΠ°Ρ Π±ΡΠ»Π΅Π²ΡΠΊΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ.
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ Π²Ρ ΠΎΠ΄ΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠ°ΡΡΠ°ΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ β ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡ Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π΅Π²Π΅ΡΠ½ΡΡ Π²Ρ ΠΎΠ΄ΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ .
ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ»ΡΡΡ: ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ Π±ΡΡΡΡΠΎ Β«Π²Π΅ΡΠ½ΡΡΡΡΡΒ» ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΏΡΡΠΌΠΎ Π² catch Π±Π»ΠΎΠΊ ΠΌΠ΅ΡΠΎΠ΄Π° CreateEmployee.
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
Π§ΡΠΎ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΈΠΌΠ΅ΡΡ ΡΡΠΈ Π΄Π²Π° ΡΡΠΌΠΏΠ»Π°? ΠΠ±Π° ΠΎΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΡΠ΅ΡΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΏΠΎΡΠΎΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ Π±ΡΡΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠΎΡΠΊΠ΅ Π² ΠΊΠΎΠ΄Π΅. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠ°ΠΊΠΎΠΌ ΠΊΠΎΠ΄Π΅ β ΠΎΠ½ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΡ ΡΠ΄ΡΠ°Π΅Ρ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΡ. ΠΠ±Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° Π·Π°ΡΡΡΠ΄Π½ΡΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΏΠΎΡΠΎΠΊΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°ΡΡΠΎ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ goto.
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ΠΈ Π»ΠΎΠ²ΡΡΡΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±Π΅ΡΠ½ΡΡΡ ΠΊΠΎΠ΄, Π²ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡΠΈΠΉ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, Π² try/catch Π±Π»ΠΎΠΊ Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π΅, Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ try/catch Π±Π»ΠΎΠΊ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎΠ²Π½Π΅ΠΉ ΠΏΠΎ ΡΡΠ΅ΠΊΡ Π²ΡΡΠ΅. ΠΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π½Π°ΡΡ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΡΠ΄Π΅Π»Π°Π½ΠΎ Π»ΠΈ ΡΡΠΎ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΎ ΠΈΠ»ΠΈ Π½Π΅Ρ:
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ·Π½Π°ΡΡ ΡΡΠΎ β ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π²Π΅ΡΡ ΡΡΠ΅ΠΊ. ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ΡΡ Π΄Π»Ρ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ, Π΄Π΅Π»Π°ΡΡ ΠΊΠΎΠ΄ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΅ ΡΠΈΡΠ°Π΅ΠΌΡΠΌ, Ρ.ΠΊ. ΠΎΠ½ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°. ΠΠ° ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΉΡΠΈ Π½Π΅ ΡΠ°ΠΊ ΠΈ ΠΊΠ°ΠΊ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΡΡΠΎ.
ΠΡΡΡ Π»ΠΈ ΡΠΏΠΎΡΠΎΠ± Π»ΡΡΡΠ΅? ΠΠΎΠ½Π΅ΡΠ½ΠΎ:
Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ ΡΠ²Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π΄Π΅Π»Π°Π΅Ρ Π²Π°ΡΠΈ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌΠΈ. ΠΡΠ° Π²Π΅ΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΏΡΠΎΡΡΠ° ΠΈ ΠΎΡΠ΅Π²ΠΈΠ΄Π½Π°.
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ
Π’Π°ΠΊ ΠΊΠΎΠ³Π΄Π° ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ? ΠΠ»Π°Π²Π½Π°Ρ ΡΠ΅Π»Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ β ΡΡΡΠΏΡΠΈΠ·! β ΠΎΠ±ΠΎΠ·Π½Π°ΡΠΈΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. ΠΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ β ΡΡΠΎ ΡΠΈΡΡΠ°ΡΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ ΠΈ Π½Π°ΠΈΠ»ΡΡΡΠΈΠΌ Π²ΡΡ ΠΎΠ΄ΠΎΠΌ Π΄Π»Ρ Π²Π°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠΈΠ΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π΅ΡΠ°Π»Π΅ΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ).
ΠΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ ΠΌΠΎΠ³ΡΡ ΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊ ΠΠ, ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Ρ.ΠΏ. ΠΡΠΈΠ±ΠΊΠΈ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠ΅ΠΉ, Ρ.ΠΊ. ΠΌΠ΅ΡΠΎΠ΄, ΠΏΡΠΎΠ²Π΅ΡΡΡΡΠΈΠΉ Π²Ρ ΠΎΠ΄ΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΡΡΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅Π²Π΅ΡΠ½ΡΠΌΠΈ.
ΠΡΡΠ³ΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ² (code contract). ΠΡ, ΠΊΠ°ΠΊ Π°Π²ΡΠΎΡ ΠΊΠ»Π°ΡΡΠ°, ΠΎΠΆΠΈΠ΄Π°Π΅ΡΠ΅, ΡΡΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π±ΡΠ΄ΡΡ ΡΠΎΠ±Π»ΡΠ΄Π°ΡΡ Π΅Π³ΠΎ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡ. Π‘ΠΈΡΡΠ°ΡΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π΅ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈ Π·Π°ΡΠ»ΡΠΆΠΈΠ²Π°Π΅Ρ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π½ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ, Π±ΡΠΎΡΠ΅Π½Π½ΡΠΌΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ?
Π―Π²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΡΠΈΡΡΠ°ΡΠΈΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ, Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΡΠΎΡΠΎΠ½Π½Π΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Π·Π½Π°ΡΡ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅ΡΡ Π΄Π΅Π»ΠΎ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΠΠ, Ρ.ΠΊ. ΠΎΠ½ Π½Π΅ Π·Π½Π°Π΅Ρ Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΅Π³ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°.
Π ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΠΎ-Π»ΠΈΠ±ΠΎ Ρ Π½Π΅ΠΉ ΡΠ΄Π΅Π»Π°ΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π±ΡΠΎΡΠ°Π½ΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π·ΡΡΡ Entity Framework ΠΈΠ»ΠΈ NHibernate Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°: ΠΎΠ½ΠΈ ΠΎΠΆΠΈΠ΄Π°ΡΡ, ΡΡΠΎ ΠΠ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΈ Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ, Π±ΡΠΎΡΠ°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΆΠΈΠ΄Π°ΡΡ, ΡΡΠΎ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ ΡΡ ΠΎΠ΄ΠΈΡ Π² ΠΎΡΠ»Π°ΠΉΠ½ Π²ΡΠ΅ΠΌΡ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΡΡΠ΅ΡΠΎΠΌ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΊΡΠ°. Π ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΊΠ°Π·Π° ΠΠ, ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ ΡΡ ΠΆΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΈΠ»ΠΈ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎΠ·ΠΆΠ΅.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠΈΡΡΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Π½ΠΈΠΆΠ΅Π»Π΅ΠΆΠ°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠΉ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠ°ΠΊ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ, Π±ΡΠΎΡΠ΅Π½Π½ΡΠΌΠΈ ΡΠ°ΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ?
ΠΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π»ΠΎΠ²ΠΈΡΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±Π»ΠΈΠΆΠ΅ ΠΊ ΠΊΠΎΠ΄Ρ, ΠΈΡ Π²ΡΠ±ΡΠ°ΡΡΡΡΠ΅ΠΌΡ. ΠΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ, Π²Π°Ρ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠ΅ ΠΆΠ΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ, ΡΡΠΎ ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Ρ goto: Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ½ΡΡΡ Π³Π΄Π΅ ΡΡΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ Π±Π΅Π· Π°Π½Π°Π»ΠΈΠ·Π° Π²ΡΠ΅Π³ΠΎ ΡΡΠ΅ΠΊΠ° Π²ΡΠ·ΠΎΠ²Π°.
ΠΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΈΠ΄Π΅ΡΡ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅, ΠΌΠ΅ΡΠΎΠ΄ SaveCustomer ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ ΠΈ Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎ ΠΎΡΠ»Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΡΠΈΠΌ. ΠΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π±ΡΠ»Π΅Π²ΡΠΊΠΈΠΉ ΡΠ»Π°Π³, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΠ΅ΠΌ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠ΄ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΠΎ ΡΡΠ΅ΠΊΡ.
ΠΠ΅ΡΠΎΠ΄ SaveCustomer ΠΈΠΌΠ΅Π΅Ρ ΠΏΠΎΠ½ΡΡΠ½ΡΡ ΡΠΈΠ³Π½Π°ΡΡΡΡ, Π³ΠΎΠ²ΠΎΡΡΡΡΡ Π½Π°ΠΌ, ΡΡΠΎ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΡΠΎ ΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ ΠΈ ΡΡΠΎ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π²ΡΠ΅ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅.
Π‘ΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΡΠΈΡΠΎΠΊΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΠΏΡΠ°ΠΊΡΠΈΠΊΡ, ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡΡ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅: Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΊΠΎΠ΄ Π² generic ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ. Generic ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΡΠ²Π΅ΡΠΆΠ΄Π°Π΅Ρ, ΡΡΠΎ Π»ΡΠ±ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΌΠΈ, ΡΡΠΎ ΠΏΠΎ ΡΡΡΠΈ Π½Π΅ΠΏΡΠ°Π²Π΄Π°.
ΠΡΠ»ΠΈ Π²Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅ΡΠ΅ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ ΡΡΠΎ Π΄Π»Ρ ΠΎΡΠ΅Π½Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡ ΡΠΈΡΠ»Π°, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²Ρ ΡΠΎΡΠ½ΠΎ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ generic ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ Π²Ρ ΠΏΡΠΎΠ³Π»Π°ΡΡΠ²Π°Π΅ΡΠ΅ Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠ΅ Π²Π°ΠΌΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΏΡΠΈΠ²ΠΎΠ΄Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Π½Π΅ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅.
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ generic ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡ β ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΡ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π²ΡΡΠΎΠΊΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ ΠΏΠΎ ΡΡΠ΅ΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΎΡΠ»ΠΎΠ²Π° Π²ΡΠ΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, Π½Π΅ ΠΏΠΎΠΉΠΌΠ°Π½Π½ΡΡ ΠΊΠΎΠ΄ΠΎΠΌ Π½ΠΈΠΆΠ΅, Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π·Π°Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ . ΠΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΡΠ°ΡΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π²ΡΠ΅ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ β ΡΡΠΎ Π·Π°ΠΊΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (Π² ΡΠ»ΡΡΠ°Π΅ ΡΠΎ stateful ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ) ΠΈΠ»ΠΈ ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ (Π² ΡΠ»ΡΡΠ°Π΅ ΡΠΎ stateless ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ).
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ fail-fast ΠΏΡΠΈΠ½ΡΠΈΠΏ
ΠΠ°ΠΊ ΡΠ°ΡΡΠΎ Π²Ρ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΠ΅ ΠΊΠΎΠ΄ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΡΡΠΎΠΌΡ?
ΠΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ generic ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ. ΠΠΎΠ΄ Π²ΡΡΠ΅ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ, ΡΡΠΎ Π²ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΏΡΠΈΡ ΠΎΠ΄ΡΡΠΈΠ΅ ΠΈΠ· ΡΠ΅Π»Π° ΠΌΠ΅ΡΠΎΠ΄Π°, ΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠΌ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ°ΡΡΠΎΠΌΠ΅ΡΠ°. Π ΡΠ΅ΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°?
ΠΠΎΠΌΠΈΠΌΠΎ ΡΡ ΠΎΠΆΠ΅ΡΡΠΈ Ρ Β«gotoΒ» ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠΎΠΉ, ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΠΌΠΎΠΉ Π²ΡΡΠ΅, ΠΏΡΠΎΠ±Π΅ΠΌΠ° ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΏΡΠΈΡ ΠΎΠ΄ΡΡΠ΅Π΅ Π² catch Π±Π»ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Π±ΡΡΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌ Π½Π°ΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ. ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠ°ΠΊ ArgumentException, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ, ΡΠ°ΠΊ ΠΈ ContractViolationException. Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΌΡ ΠΏΡΡΡΠ΅ΠΌ Π±Π°Π³, ΠΏΡΠΈΡΠ²ΠΎΡΡΡΡΡ, ΡΡΠΎ Π½Π°ΠΌ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
ΠΡΠΎΠ³Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΎΡΡΡ Π·Π°ΡΠΈΡΠΈΡΡ ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΡΡ ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ. ΠΠ° ΡΠ°ΠΌΠΎΠΌ ΠΆΠ΅ Π΄Π΅Π»Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠ°ΡΠΊΠΈΡΡΠ΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π΄Π΅Π»Π°Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡ ΠΈΡ Π²ΡΠ»Π°Π²Π»ΠΈΠ²Π°Π½ΠΈΡ.
ΠΠ°ΠΈΠ»ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ°Π±ΠΎΡΡ Ρ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΌΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ β ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ try..catch..finally
ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΡΠΉ Π±Π»ΠΎΠΊ catch Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½, ΡΠΎ ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π°Π²Π°ΡΠΈΠΉΠ½ΠΎ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΡΠ²ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π° Π½Π° 0, ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. Π ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ Π² Visual Studio ΠΎΠΊΠΎΡΠΊΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ ΠΎΠ± ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ:
Π Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅, ΡΡΠΎ Π½Π°ΠΌ ΠΎΡΡΠ°Π΅ΡΡΡ, ΡΡΠΎ Π·Π°Π²Π΅ΡΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Ρ Π½Π°Ρ ΠΎΠΏΡΡΡ ΠΆΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π² Π±Π»ΠΎΠΊΠ΅ try, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ ΠΏΡΡΠ°Π΅ΠΌΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π½Π° Π½ΠΎΠ»Ρ. Π Π΄ΠΎΠΉΠ΄Ρ Π΄ΠΎ ΡΡΡΠΎΠΊΠΈ
Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ. CLR Π½Π°ΠΉΠ΄Π΅Ρ Π±Π»ΠΎΠΊ catch ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠΎΠΌΡ Π±Π»ΠΎΠΊΡ.
ΠΠΎΡΠ»Π΅ Π±Π»ΠΎΠΊΠ° catch Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π±Π»ΠΎΠΊ finally.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ»Ρ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΡΠΎΠ³ΠΎ Π΄Π΅Π»Π΅Π½ΠΈΡ, Π½ΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ½Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎ Π·Π°Π²Π΅ΡΡΠ°ΡΡΡΡ, Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ Π² Π±Π»ΠΎΠΊΠ΅ catch.
Π, Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ Π±Π»ΠΎΠΊΠ° finally ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΡΡΡΠΈΡΡ Π±Π»ΠΎΠΊ catch ΠΈ Π½Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅:
ΠΠ΄Π½Π°ΠΊΠΎ, Ρ ΠΎΡΡ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° C# ΡΠ°ΠΊΠ°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ Π²ΠΏΠΎΠ»Π½Π΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½Π°, ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ CLR Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΉΡΠΈ Π½ΡΠΆΠ½ΡΠΉ Π±Π»ΠΎΠΊ catch, ΡΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ, ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π°Π²Π°ΡΠΈΠΉΠ½ΠΎ Π·Π°Π²Π΅ΡΡΠΈΡΡΡ.
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΈ ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ
Π ΡΠ΄ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅Π½ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ Π²Π²ΠΎΠ΄ ΡΠΈΡΠ»Π° ΠΈ Π²ΡΠ²ΠΎΠ΄ Π΅Π³ΠΎ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ°:
Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΎΠ² try..catch Π±ΠΎΠ»Π΅Π΅ Π½Π°ΠΊΠ»Π°Π΄Π½ΠΎ, ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠ»ΠΎΠ²Π½ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ. ΠΠΎΡΡΠΎΠΌΡ ΠΏΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π²ΠΌΠ΅ΡΡΠΎ try..catch Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ.
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² Java. Π§Π°ΡΡΡ 1
Π Π°Π·Π±ΠΈΡΠ°Π΅ΠΌΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, Π·Π°ΡΠ΅ΠΌ ΠΎΠ½ΠΈ Π½ΡΠΆΠ½Ρ ΠΈ ΠΊΠ°ΠΊ Ρ Π½ΠΈΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΠ· ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅:
ΠΠΎΠ΄ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΡΠΏΡΠ°Π²Π½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ, ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΎΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΆΠ΅Π»Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡ. Π‘ΡΡΠΎΡΠΊΠΈ Π΅Π³ΠΎ Π±ΡΠ΄ΡΠΎ ΠΊΡΠΈΡΠ°Ρ Π½Π° Π²Π°Ρ, Π°ΠΆ ΠΏΠΎΠ±Π°Π³ΡΠΎΠ²Π΅Π»ΠΈ.
ΠΠ° ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ Π΄Π°Π»Π΅ΠΊΠΎ Ρ ΠΎΠ΄ΠΈΡΡ Π½Π΅ Π½Π°Π΄ΠΎ: ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΡΠΎ, ΡΡΠΎ Π½Π°ΠΌ Π·Π°ΠΏΡΠ΅ΡΠ°Π»ΠΈ Π΅ΡΡ Π² ΡΠΊΠΎΠ»Π΅, β ΠΏΠΎΠ΄Π΅Π»ΠΈΠΌ Π½Π° Π½ΠΎΠ»Ρ.
ΠΡΠΎ ΠΈ Π΅ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
Β«ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅Β» β ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ ΡΠ»ΠΎΠ² Β«ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ»ΡΡΠ°ΠΉΒ». ΠΡΠΎ ΡΠΈΡΡΠ°ΡΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΠΈΠ»ΠΈ Π΅Ρ ΡΠ°Π±ΠΎΡΠ° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π±Π΅ΡΡΠΌΡΡΠ»Π΅Π½Π½ΠΎΠΉ. ΠΡΠΈΡΡΠΌ ΡΠ΅ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎ Π½Π΅ΡΡΠ°ΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ β ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π±ΡΠ²Π°ΡΡ ΠΈ Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΡΠΌΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠ°ΠΌ.
ΠΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ. ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² Java ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΡΠΆΠ΅ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠ·ΡΠΊΠ°. Π Π²ΠΎΡ Π² ΡΠ·ΡΠΊΠ°Ρ , Π³Π΄Π΅ ΠΈΡ Π½Π΅Ρ, Π²ΠΌΠ΅ΡΡΠΎ Π½ΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΊΠΎΠ΄Ρ ΠΎΡΠΈΠ±ΠΎΠΊ.
Π₯Π»Π΅Π±ΠΎΠΌ Π½Π΅ ΠΊΠΎΡΠΌΠΈ β
Π΄Π°ΠΉ ΠΊΠΎΠΌΡ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΡΠΎ Java ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ.
ΠΠ΅ΡΠ°ΡΡ ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ
Π£ Π²ΡΠ΅Ρ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π΅ΡΡΡ ΠΎΠ±ΡΠΈΠΉ ΠΊΠ»Π°ΡΡ-ΠΏΡΠ΅Π΄ΠΎΠΊ Throwable, ΠΎΡ Π½Π΅Π³ΠΎ Π½Π°ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠ»Π°ΡΡΡ Error ΠΈ Exception, Π±Π°Π·ΠΎΠ²ΡΠ΅ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΡΠΎΡΠΈΡ .
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ (Errors)
Error is the superclass of all the exceptions from which ordinary programs are not ordinarily expected to recover.
Π§ΡΠΎ Π² ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ: ΠΎΡΠΈΠ±ΠΊΠΈ (Error) β ΡΡΠΎ ΡΠ°ΠΊΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ.
Π’ΠΎ Π΅ΡΡΡ ΡΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅Π»ΡΠ·Ρ (Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ) ΠΈΡΠΏΡΠ°Π²Π»ΡΡΡ Π½Π° Ρ ΠΎΠ΄Ρ. ΠΡΡ, ΡΡΠΎ Π½Π°ΠΌ ΠΎΡΡΠ°ΡΡΡΡ, β ΠΈΠ·Π²ΠΈΠ½ΠΈΡΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΠΈ Π²ΠΏΡΠ΅Π΄Ρ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π³Π΄Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ ΡΠ°ΠΊΠΎΠΉ Π³Π»ΡΠ±ΠΎΠΊΠΎΠΉ ΡΠ΅ΠΊΡΡΡΠΈΠΈ, ΠΊΠ°ΠΊ Π² ΠΊΠΎΠ΄Π΅ Π½ΠΈΠΆΠ΅:
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Ρ Π½Π°Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ°: Exception in thread Β«mainΒ» java.lang.StackOverflowError β ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½ΠΈΠ»ΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ Π½Π΅ ΡΠΊΠ°Π·Π°Π»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΡΠ΅ΠΊΡΡΡΠΈΠΈ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ (Exceptions)
Π ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ± Exception. ΠΡΠΈ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ, Π΅ΡΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π΄ΠΎΠΏΡΡΡΠΈΠ» Π½Π΅Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π» ΠΎΡΠΎΠ±ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ Π² Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (ΠΈΠ»ΠΈ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΎ Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ).
1. ΠΠ΅Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ
ΠΠΈΡ Π½Π΅ ΡΡΡ Π½ΡΠ», ΠΊΠ°ΠΊ Π² ΡΠ»ΡΡΠ°Π΅ Ρ Error, ΠΏΡΠΎΡΡΠΎ Java Π½Π΅ Π·Π½Π°Π΅Ρ, ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ Π΄Π°Π»ΡΡΠ΅. ΠΠ°ΠΊ ΡΠ°Π· ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΡΠ°Π·ΡΡΠ΄Π° Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ»Ρ Π² Π½Π°ΡΠ°Π»Π΅ ΡΡΠ°ΡΡΠΈ: ΠΈ ΠΏΡΠ°Π²Π΄Π°, ΠΊΠ°ΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ³Π΄Π° ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ oops?
Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ ΡΠ°ΠΌΠΈ, ΡΡΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° ArithmeticException Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠ°Π· ΠΎΡ Exception.
ΠΡΡΠ³Π°Ρ ΡΠ°ΡΡΠ°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ β ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ Π½Π°Ρ Π² Π½ΡΠΌ Π΄Π΅ΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π° ΠΌΡ ΠΏΡΡΠ°Π΅ΠΌΡΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΠΎΠ΄ΠΈΠ½Π½Π°Π΄ΡΠ°ΡΠΎΠΌΡ.
2. ΠΡΠΎΠ±ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ Π² Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠ»Π°ΡΡΠΈΠΊΠ°. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌ Π·Π°Π΄Π°ΡΡ ΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ·ΠΊΠ΅ Π²ΠΎΠ»ΠΊΠ°, ΠΊΠΎΠ·Ρ ΠΈ ΠΊΠ°ΠΏΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΠΊΡ: Π² Π»ΠΎΠ΄ΠΊΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π° ΠΏΠ°ΡΡΠ°ΠΆΠΈΡΠ°, Π½ΠΎ Π²ΠΎΠ»ΠΊΠ° Ρ ΠΊΠΎΠ·ΠΎΠΉ ΠΈ ΠΊΠΎΠ·Ρ Ρ ΠΊΠ°ΠΏΡΡΡΠΎΠΉ Π½Π΅Π»ΡΠ·Ρ ΠΎΡΡΠ°Π²Π»ΡΡΡ Π½Π° Π±Π΅ΡΠ΅Π³Ρ Π²ΠΌΠ΅ΡΡΠ΅. ΠΡΠΎ ΠΈ Π΅ΡΡΡ ΠΎΡΠΎΠ±ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ Π² Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅Π»ΡΠ·Ρ Π½Π°ΡΡΡΠ°ΡΡ.
ΠΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²ΠΎΠ΄ΠΈΡ Π΄Π°ΡΡ Π½Π°ΡΠ°Π»Π° Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄Π° ΠΈ Π΄Π°ΡΡ Π΅Π³ΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ. ΠΡΠΎΡΠ°Ρ Π΄Π°ΡΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π½ΡΡΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠΉ.
ΠΠ»ΠΈ, Π΄ΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΈΡΠ°Π΅Ρ ΡΠ°ΠΉΠ». Π‘Π°ΠΌ ΠΌΠ΅ΡΠΎΠ΄ Π½Π°ΠΏΠΈΡΠ°Π½ Π²Π΅ΡΠ½ΠΎ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π» Π² Π½Π΅Π³ΠΎ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΉ ΠΏΡΡΡ. Π’ΠΎΠ»ΡΠΊΠΎ Π²ΠΎΡ Ρ ΡΡΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠ° Π½Π΅Ρ ΠΏΡΠ°Π²Π° ΡΠΈΡΠ°ΡΡ ΡΡΠΎΡ ΡΠ°ΠΉΠ» (Π΅Π³ΠΎ ΡΠΎΠ»Ρ ΠΈ ΠΏΡΠ°Π²Π° ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½Ρ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΡΡ). Π§ΡΠΎ ΠΆΠ΅ ΡΠΎΠ³Π΄Π° ΠΌΠ΅ΡΠΎΠ΄Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ? ΠΠ΅ΡΠ½ΡΡΡ-ΡΠΎ Π½Π΅ΡΠ΅Π³ΠΎ, Π²Π΅Π΄Ρ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ ΠΎΡΡΠ°Π±ΠΎΡΠ°Π». Π‘Π°ΠΌΠΎΠ΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ β Π²ΡΠ΄Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
Π Π΄Π΅ΡΠ΅Π²ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΌΡ Π΅ΡΡ ΡΠ³Π»ΡΠ±ΠΈΠΌΡΡ, Π° ΡΠ΅ΠΉΡΠ°Ρ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ ΠΈ ΠΊΠ°ΠΊ Ρ Π½ΠΈΠΌΠΈ Π΄Π΅Π»Π°ΡΡ.
Π§ΡΠΎ Π΄Π΅Π»Π°ΡΡ Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ
ΠΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ β Π½ΠΈΡΠ΅Π³ΠΎ; Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ β ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΎΡΡΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π² C#
Π ΡΠ°ΠΌΠΊΠ°Ρ ΡΠΊΠΎΡΠΎΠ³ΠΎ ΡΡΠ°ΡΡΠ° ΠΊΡΡΡΠ° «C# Developer. Professional» ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠ»ΠΈ Π΄Π»Ρ Π²Π°Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°.
ΠΡΠΈΠ³Π»Π°ΡΠ°Π΅ΠΌ ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ΅Ρ ΠΆΠ΅Π»Π°ΡΡΠΈΡ Π½Π° Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ Π΄Π΅ΠΌΠΎ-ΡΡΠΎΠΊ Β«DI-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π΄Π»Ρ C#Β». ΠΠ° ΡΡΠΎΠΌ Π·Π°Π½ΡΡΠΈΠΈ ΠΌΡ:
1) Π Π°Π·Π±Π΅ΡΠ΅ΠΌΡΡ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏ DI ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΎΠ½ Π½ΡΠΆΠ΅Π½;
2) ΠΠ°ΡΡΠΈΠΌΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ DI Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ²;
3) Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄Π²Π° ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ
DI-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π΄Π»Ρ C#: Windsor ΠΈ Autofac, ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΈΡ
ΠΏΠ»ΡΡΡ ΠΈ ΠΌΠΈΠ½ΡΡΡ;
4) ΠΠ°ΡΡΠΈΠΌΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΡ
ΠΆΠΈΠ·Π½Π΅Π½Π½ΡΠΌ ΡΠΈΠΊΠ»ΠΎΠΌ, ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈΠ½ΡΠ΅ΠΊΡΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ.
Π― ΠΏΠ»Π°Π²Π½ΠΎ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ°ΡΡΡ ΠΊ ΡΠ²ΠΎΠ΅ΠΌΡ Π΄Π²Π°Π΄ΡΠ°ΡΠΈΠ»Π΅ΡΠ½Π΅ΠΌΡ ΡΠ±ΠΈΠ»Π΅Ρ Π² ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΈΠ½Π΄ΡΡΡΡΠΈΠΈ. ΠΠ° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ ΡΡΠΈΡ Π»Π΅Ρ Ρ ΡΠ²ΠΎΠΈΠΌΠΈ Π³Π»Π°Π·Π°ΠΌΠΈ ΠΏΠΎΠ²ΠΈΠ΄Π°Π» ΠΏΠΎΡΡΠΈ Π²ΡΠ΅ Π°Π½ΡΠΈ-ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ (Π΄Π° ΡΡΠΎ ΡΠΆ ΡΠ°ΠΌ, ΠΈ Ρ ΡΠ°ΠΌ ΡΠΎΠΆΠ΅ ΡΠΎΠ²Π΅ΡΡΠ°Π» ΠΎΡΠΈΠ±ΠΊΠΈ). Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΡΠΎΠ±ΡΠ°Π» ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π»ΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ Π² C#.
ΠΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΡΠΉΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ
Π― Π½Π°ΡΡΠΊΠ°ΡΡΡ Π½Π° ΡΡΠΎ ΡΠ½ΠΎΠ²Π° ΠΈ ΡΠ½ΠΎΠ²Π°. ΠΡΠ΄ΠΈ ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΡΠ±ΠΈΡΡ Ρ ΡΠΎΠ»ΠΊΡ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΡΠ΅ΠΊ ΡΡΠ΅ΠΉΡ Β«Π²ΠΎΠ»ΡΠ΅Π±Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌΒ» ΠΈΡΡΠ΅Π·Π°Π΅Ρ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ. Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎ Π²ΡΠ·Π²Π°Π½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠ΅ΠΉ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Ρ Π½Π°Ρ Π΅ΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ try/catch :
ΠΠ°ΠΊ Π²Ρ, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, ΡΠΆΠ΅ Π΄ΠΎΠ³Π°Π΄Π°Π»ΠΈΡΡ, Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ try/catch ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠ²Π°Π΅Ρ, ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅Ρ ΠΈ ΠΏΡΠΎΠ³Π»Π°ΡΡΠ²Π°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ±ΡΠΎΡΠΈΡΡ SpecificException Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ Π±Π»ΠΎΠΊ catch Π΄Π»Ρ Π΅Π³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠ±ΡΠΎΡΠΈΡΡ Π΅Π³ΠΎ Π² ΡΡΠ΅ΠΊ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΠ΅ΠΊΠΎΡΠΈΡΡΠΉΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
Π― Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ΅Π΄ΠΊΠΎ Π²ΠΈΠΆΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠΎΠΉ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅. ΠΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΡΡΠΈΡΡΡΡ Exception, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π΅ΡΡΡ ΡΠ»ΠΎΠ²Π°ΡΡ Data. Π‘Π»ΠΎΠ²Π°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅. ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π»ΠΈ ΡΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² Π²Π°ΡΠ΅ΠΌ Π»ΠΎΠ³Π΅, Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅. Π elmah.io Π·Π°ΠΏΠΈΡΠΈ Data ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Data.
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΡΠ»ΠΎΠ²Π°ΡΡ Data Π²Π½ΠΎΡΠΈΡΡΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΏΠ°Ρ ΠΊΠ»ΡΡ/Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅:
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡ ΠΊΠ»ΡΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ user Ρ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Ρ ΡΠ°Π½ΡΡΠΈΠΌΡΡ Π² ΠΏΠΎΡΠΎΠΊΠ΅.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π΅ΠΊΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. ΠΠΎΠ±Π°Π²ΡΡΠ΅ try/catch :
ΠΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠ²Π°ΠΉΡΠ΅ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
ΠΠ΅ΡΠΎΡΡΠ½Π΅Π΅ Π²ΡΠ΅Π³ΠΎ, Ρ Π²Π°Ρ Π΅ΡΡΡ Π³Π΄Π΅-ΡΠΎ ΠΊΠΎΠ΄, ΠΏΠΎΡ ΠΎΠΆΠΈΠΉ Π½Π° ΡΡΠΎΡ:
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ ΡΠ΅ΡΠΊΠΎ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠΆΠΈΠ΄Π°ΡΡ ΠΈ ΠΊΠ°ΠΊ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΡΠΈΠΏΠΎΠΌ:
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ, Ρ ΠΎΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΊΠΎΠ΄ ΡΠ»ΡΠΆΠΈΡ Π΄Π»Ρ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΡ ΠΏΠΎΡΡΠ΄ΠΊΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΡΠΎΠΊΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ β ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π½Π΅ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠ°Ρ. ΠΡΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π²ΠΎΠ΄ΠΊΠ° ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΠΎΠ²Π΅ΡΡ:
Π‘ΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ
ΠΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΌ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ. ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², Π³Π΅Π½Π΅ΡΠΈΡΡΡΡΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π·Π°ΡΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠΎΡΡΡΠΏ ΠΊ a Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. Π₯ΠΎΡΠΎΡΠΎ, Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ a ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ city Ρ Π½ΡΠ»Π΅Π²ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ null-condition ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ:
ΠΡΡΠ³ΠΎΠΉ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ β ΡΡΠΎ Π°Π½Π°Π»ΠΈΠ· ΡΠΈΡΠ΅Π» ΠΈΠ»ΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΎ FormatException :
Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
ΠΠ»Π°ΡΡ MyVerySpecializedException (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎ Π½Π΅ ΡΠΎ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° :D) ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΡΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Status Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ . ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π½Π°ΠΌ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄:
ΠΠΎΠ³ΠΈΡΡΠΉΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
ΠΡΠΎ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΌ. ΠΠΎ Ρ Π²ΠΈΠ΄Π΅Π» ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΠΊΠΎΠ΄Π΅ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΡΠΎΠΊΠ°Ρ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π°:
ΠΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Π½Π΅ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠ΅Π½Π½ΡΡ , ΡΠ°ΠΊ ΠΈ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠ΅Π½Π½ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ β ΡΡΠΎ ΠΌΠ΅Π½ΡΡΠ΅Π΅, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ Π΄Π»Ρ ΡΠ²ΠΎΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠ΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ Ρ ΡΠΆΠ΅, ΡΠ΅ΠΌ ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ Π² Π²Π°ΡΡ ΡΠ»ΡΠΆΠ±Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ, ΠΈ Π²Ρ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ΄ΠΎΠ·ΡΠ΅Π²Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊΠΈΠ΅ Π±ΡΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ. Π ΡΡΠΎΠΌ Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΎΠ².
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² 1Π‘
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΠΎΠΏΡΡΠΊΠ°-ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅-ΠΠΎΠ½Π΅ΡΠΠΎΠΏΡΡΠΊΠΈ
ΠΡΠ»ΠΈ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ Π½Π° Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ 1Π‘ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° 0, ΡΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΡΠ²Π°Π½ΠΎ ΠΈ Π½Π° ΡΠΊΡΠ°Π½ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅:
ΠΡΠΈΠ±ΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ (run time) β ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ. ΠΡΠ΅ Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ (compile time) β ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ.
ΠΠ»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ:
ΠΡΠ»ΠΈ Π² ΠΊΠΎΠ΄Π΅ ΠΏΠΎΡΠ»Π΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° ΠΠΎΠΏΡΡΠΊΠ° Π±ΡΠ΄Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΡΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅Ρ Π½Π° ΠΏΠ΅ΡΠ²ΡΡ ΡΡΡΠΎΠΊΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ Π½Π΅ Π±ΡΠ΄Π΅Ρ, ΡΠΎ ΠΊΠΎΠ΄ ΠΏΠΎΡΠ»Π΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π°ΠΆΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½.
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΠΎΠΏΡΡΠΊΠ°-ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅-ΠΠΎΠ½Π΅ΡΠΠΎΠΏΡΡΠΊΠΈ Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. Π’Π°ΠΊΠΎΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½:
ΠΡΠ·ΠΎΠ²Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ Π²Π½ΡΡΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠΈ ΡΠΎΠΆΠ΅ Π±ΡΠ΄ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Ρ:
Π 1Π‘ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΅Π΄ΠΈΠ½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΡΠ΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΠΊΠ°ΠΊ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΡΠ°ΠΊ ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ. Π’ΠΎ Π΅ΡΡΡ ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΠΈΡΠΊΠ°ΡΡ Π±Π»ΠΈΠΆΠ°ΠΉΡΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΎΡΠ½ΠΎΡΡΡΠΈΠΉΡΡ ΠΊ Π΄Π°Π½Π½ΠΎΠΌΡ Π±Π»ΠΎΠΊΡ ΠΊΠΎΠ΄Π°. ΠΡΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° Π½Π° ΡΡΡΠΎΠΊΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ Π±ΡΠ» ΠΎΠ±Π΅ΡΠ½ΡΡ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΠΎΠΏΡΡΠΊΠ°-ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π΅ΡΡΡ ΡΠ°ΠΊΠ°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ β ΠΎΡΠΈΠ±ΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π° ΡΡΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ. ΠΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π½Π°ΠΉΠ΄Π΅Π½, ΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ° Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π° ΠΈΠΌ. ΠΡΠ»ΠΈ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½, ΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ.