рдЬрд╛рд╡рд╛ рдореЗрдВ рдЕрдкрд╡рд╛рдж, рднрд╛рдЧ II (рдЬрд╛рдБрдЪ / рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд)

рдпрд╣ рд▓реЗрдЦ рдХрд╛ рджреВрд╕рд░рд╛ рднрд╛рдЧ рд╣реИ (рдкрд╣рд▓рд╛ рднрд╛рдЧ try-catch-рдЖрдЦрд┐рд░ ), рдЕрдкрд╡рд╛рдж рдХреЗ рд░реВрдк рдореЗрдВ рдРрд╕реЗ рдЬрд╛рд╡рд╛ рднрд╛рд╖рд╛ рддрдВрддреНрд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реИред рдЗрд╕рдореЗрдВ рдПрдХ рдкрд░рд┐рдЪрдпрд╛рддреНрдордХ рдЪрд░рд┐рддреНрд░ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╢реБрд░реБрдЖрддреА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдпрд╛ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдЕрднреА рднрд╛рд╖рд╛ рд╕реАрдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред



рдореИрдВ рдСрдирд▓рд╛рдЗрди рд╢рд┐рдХреНрд╖рд╛ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо udemy.com (рдХреМрд░рд╕реЗрд░рд╛ / рдПрдбрдПрдХреНрд╕ рдХреЗ рд╕рдорд╛рди) рдкрд░ рдЬрд╛рд╡рд╛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛрд░реНрд╕ рдХреЗ рд▓рд┐рдП рд╕реНрдХрд╛рд▓рд╛ рднреА рд╕рд┐рдЦрд╛рддрд╛ рд╣реВрдВред



1. рдЬрд╛рджреВ рдХреА рдЬрд╛рдБрдЪ / рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд

2. рдирд┐рд░рд╛рд╢рд╛рд╡рд╛рджреА рддрдВрддреНрд░

3. рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд (рдЕрдирдХрд╡рд░реНрдб) рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде рдлреЗрдВрдХрддрд╛ рд╣реИ

4. рдХрдИ рдЕрдкрд╡рд╛рдж

5. рдпрд╛ рдкрдХрдбрд╝рдирд╛, рдпрд╛ рдлреЗрдВрдХрдирд╛

6. рдХрдВрдкрд╛рдЗрд▓рд░ / рдЬреЗрд╡реАрдПрдо рд╡реНрдпрд╡рд╣рд╛рд░

7. рдУрд╡рд░рд░рд╛рдЗрдбрд┐рдВрдЧ рдФрд░ рдереНрд░реЛ

8. рд╡рд┐рд░рд╛рд╕рдд рджреНрд╡рд╛рд░рд╛ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рд╣рд╕реНрддрд╛рдВрддрд░рдг





1. "рдореИрдЬрд┐рдХ" рдХреА рдЬрд╛рдБрдЪ / рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд





рдЬрд╛рд╡рд╛ рдореЗрдВ рдЕрд╕рд╛рдзрд╛рд░рдг рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХрд╛ рддрдВрддреНрд░ "рдЬрд╛рджреВ" рдХреЗ рджреЛ рддрддреНрд╡реЛрдВ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИ, рдЕрд░реНрдерд╛рддреНред рд╡рд╣ рд╕реНрд░реЛрдд рдЬреЛ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ:

1. "рдореИрдЬрд┐рдХ" java.lang.Throwable - рдереНрд░реЛ, рдХреИрдЪ рдФрд░ рдереНрд░реЛ рдореЗрдВ, рдХреЗрд╡рд▓ рдереНрд░реЛрдПрдмрд▓ рдпрд╛ рдЗрд╕рдХреЗ рд╡рд╛рд░рд┐рд╕ рдЦрдбрд╝реЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ ( рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд┐рдЫрд▓реЗ рд╡реНрдпрд╛рдЦреНрдпрд╛рди рдореЗрдВ рдЬрд╛рдВрдЪ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ )ред рдереНрд░реЛ, рдХреИрдЪ рдФрд░ рдереНрд░реЛ рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рдпрд╣ "рдЕрдзрд┐рдХрд╛рд░" рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╕реЛрд░реНрд╕ рдХреЛрдб рдореЗрдВ рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

2. рд╕рднреА рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ "рдЬрд╛рдБрдЪ" рдФрд░ "рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд" рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдЧреБрдг rhizome (рдереНрд░реЛрдПрдмрд▓, рдПрд░рд░, рдПрдХреНрд╕реЗрдкреНрд╢рди, RuntimeException) рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИ рдФрд░ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИред рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдЕрдкрд╡рд╛рдж рд╡рд░реНрдЧ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред



рдЖрдЧреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ, рдмрд╕ рдпрд╣ рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐

- рдлреЗрдВрдХрдиреЗ рдпреЛрдЧреНрдп рдФрд░ рдЕрдкрд╡рд╛рдж рдФрд░ рдЙрдирдХреЗ рд╕рднреА рд╡рдВрд╢рдЬ (рддреНрд░реБрдЯрд┐ рдФрд░ рд░рдирдЯрд╛рдЗрдо рдЕрдкрд╡рд╛рдж рдХреЗ рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░рд┐рдпреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░) рдЬрд╛рдБрдЪ рдХреА рдЧрдИ

- рддреНрд░реБрдЯрд┐ рдФрд░ RuntimeException рдФрд░ рдЙрдирдХреЗ рд╕рднреА рд╡рдВрд╢рдЬ - рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд



рдЬрд╛рдБрдЪ рдЕрдкрд╡рд╛рдж = рд╕рдВрдХрд▓рдХ рджреНрд╡рд╛рд░рд╛ рдЬрд╛рдБрдЪ рдЕрдкрд╡рд╛рдж рдЬрд╛рдБрдЪред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдВрдкрд╛рдЗрд▓рд░ рдЪреЗрдХ рдХреНрдпрд╛ рд╣рдо рдЗрд╕ рд╡реНрдпрд╛рдЦреНрдпрд╛рди рдореЗрдВ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗред



рдЕрдкрд╡рд╛рдж рдкрджрд╛рдиреБрдХреНрд░рдо рдХреЛ рдпрд╛рдж рдХрд░реЗрдВ

Object | Throwable / \ Error Exception | RuntimeException
      
      







рдЖрдЗрдП рдЬрд╛рдБрдЪ рдХреА рдЧрдИ / рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВ

  Object | Throwable(CHECKED) / \ Error(UNCHECKED) Exception(CHECKED) | RuntimeException(UNCHECKED)
      
      









2. рдирд┐рд░рд╛рд╢рд╛рд╡рд╛рджреА рддрдВрддреНрд░





рдореИрдВ рдЪреЗрдХ рдХрд┐рдП рдЧрдП рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рдХрд╣рддрд╛ рд╣реВрдВ рдФрд░ "рдирд┐рд░рд╛рд╢рд╛рд╡рд╛рджреА" рдХрд╣рддрд╛ рд╣реВрдВ, рд╣рдо "рдбрд░рд╛" рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкреЛрд▓рд┐рд╢ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдирд╣реАрдВ



рд╣рдо рдирд╣реАрдВ рдЫреЛрдбрд╝ рд╕рдХрддреЗ, рд▓реЗрдХрд┐рди рдЪреЗрддрд╛рд╡рдиреА рдирд╣реАрдВ рджреЗрддреЗ

 public class App { public static void main(String[] args) { throw new Exception(); //    } } >> COMPILATION ERROR: unhandled exception: java.lang.Exception
      
      







рд╣рдо рдЫреЛрдбрд╝ рдирд╣реАрдВ рд╕рдХрддреЗ, рд▓реЗрдХрд┐рди "рдХрдо" рдХреА рдЪреЗрддрд╛рд╡рдиреА рджреА

 import java.io.IOException; public class App { public static void main(String[] args) throws IOException { throw new Exception(); //    } } >> COMPILATION ERROR: unhandled exception: java.lang.Exception
      
      







рд╣рдо рдЖрдкрдХреЛ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдХреНрдпрд╛ рдлреЗрдВрдХ рд░рд╣реЗ рд╣реИрдВ

 public class App { public static void main(String[] args) throws Exception { //   Exception throw new Exception(); //   Exception } }
      
      







рд╣рдо рдЬрд┐рддрдирд╛ рдлреЗрдВрдХ рд╕рдХрддреЗ рд╣реИрдВ рдЙрд╕рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдХреА рдЪреЗрддрд╛рд╡рдиреА рджреЗ рд╕рдХрддреЗ рд╣реИрдВ

 public class App { public static void main(String[] args) throws Throwable { //  "" Throwable throw new Exception(); //    Exception } }
      
      







рд╣рдо рдХреБрдЫ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдЪреЗрддрд╛рд╡рдиреА рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ

 public class App { public static void main(String[] args) throws Exception { //  //     } }
      
      







рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рд╣рдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╕рднреА рдХреЛ рдбрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

 public class App { public static void main(String[] args) { f(); //    } public static void f() throws Exception { } } >> COMPILATION ERROR: unhandled exception: java.lang.Exception
      
      







рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡реЗ (рднрдпрднреАрдд) рдмрд╛рдХреА рд▓реЛрдЧреЛрдВ рдХреЛ рдФрд░ рднреА рдЕрдзрд┐рдХ рдбрд░рд╛ рд╕рдХрддреЗ рд╣реИрдВ

 public class App { //    Throwable public static void main(String[] args) throws Throwable { f(); } //    - Exception public static void f() throws Exception { } }
      
      







"рдирд┐рд░рд╛рд╢рд╛рд╡рд╛рдж" рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдХреНрдпрд╛ рд╣реИ? рд╕рдм рдХреБрдЫ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИред

рдЖрдк рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдореЛрдб "рд╕реНрдХреЗрдЪ" рдореЗрдВ рдХрд╣рддреЗ рд╣реИрдВ, рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╡рд░реНрдЧ

 public class InternetDownloader { public static byte[] (String url) throws IOException { return "<html><body>Nothing! It's stub!</body></html>".getBytes(); } }
      
      





рдФрд░ рдЕрдкрдиреА рдХрдХреНрд╖рд╛ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ ALREADY рдХреЛ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд IOException рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП "рдмрд╛рдзреНрдп" рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдбрдореА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рдЖрдк рдЕрднреА рддрдХ рдРрд╕рд╛ рдХреЛрдИ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рднрд╡рд┐рд╖реНрдп рдореЗрдВ - рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред





3. рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд (рдЕрдирдХрд╡рд░реНрдб) рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде рдлреЗрдВрдХрддрд╛ рд╣реИ



рдПрдХ рдРрд╕реА рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЬреЛ рдПрдХ рдЕрдкрд╡рд╛рдж рджреНрд╡рд╛рд░рд╛ "рдбрд░рд╛рддрд╛" рд╣реИ, рд╡рд╣ рд╣рдо рдкрд░ рдХреЛрдИ рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░реА рдирд╣реАрдВ рдбрд╛рд▓рддреА рд╣реИред

 public class App { public static void main(String[] args) { f(); } public static void f() throws RuntimeException { } }
      
      





рдпрд╣ рдирд┐рд░реНрдорд╛рдг рдХреЛрдб рд░реАрдбрд░ рдХреЛ "рдмрддрд╛рдиреЗ" рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреА рд╡рд┐рдзрд┐ рдХреБрдЫ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдЕрдкрд╡рд╛рдж рдХреЛ рдлреЗрдВрдХ рд╕рдХрддреА рд╣реИред



рдЙрджрд╛рд╣рд░рдг (java.lang.NumberFormatException - рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдЕрдкрд╡рд╛рдж):

 package java.lang; public final class Integer extends Number implements Comparable<Integer> { ... /** * ... * * @param sa {@code String} containing the {@code int} * representation to be parsed * @return the integer value represented by the argument in decimal. * @exception NumberFormatException if the string does not contain a * parsable integer. */ public static int parseInt(String s) throws NumberFormatException { return parseInt(s,10); } ... }
      
      





Integer.parseInt () рдПрдХ рдЕрдиреБрдЪрд┐рдд рддрд░реНрдХ рдкрд░ рдПрдХ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд NumberFormatException рдХреЛ рдлреЗрдВрдХ рд╕рдХрддрд╛ рд╣реИ (int k = Integer.parseInt ("123abc")), рдпрд╣ рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рд╣реЛрддрд╛ рд╣реИ

- рд╡рд┐рдзрд┐ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдореЗрдВ: рдирдВрдмрд░рдлрд╝реЙрд░реНрдореИрдЯ рдЕрдкрд╡рд╛рдж рдХреЛ рдлреЗрдВрдХрддрд╛ рд╣реИ

- рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ (javadoc): @ рдЕрдкрд╡рд╛рдж

рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдореЗрдВ рдХреБрдЫ рднреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХреГрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред





4. рдХрдИ рдЕрдкрд╡рд╛рдж



рдХреЛрдб рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдерд┐рддрд┐ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдЪреЗрдХ рдХрд┐рдП рдЧрдП рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рдлреЗрдВрдХ рд╕рдХрддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ EOFException рдФрд░ FileNotFoundException IOException рдХреЗ рд╡рдВрд╢рдЬ рд╣реИрдВред



рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдХреНрдпрд╛ рдлреЗрдВрдХрддреЗ рд╣реИрдВ

 import java.io.EOFException; import java.io.FileNotFoundException; public class App { //    public static void main(String[] args) throws EOFException, FileNotFoundException { if (System.currentTimeMillis() % 2 == 0) { throw new EOFException(); } else { throw new FileNotFoundException(); } } }
      
      





рдпрд╛ рдЙрд╕ рддрд░рд╣

 import java.io.EOFException; import java.io.FileNotFoundException; public class App { //    public static void main(String[] args) throws EOFException, FileNotFoundException { f0(); f1(); } public static void f0() throws EOFException {...} public static void f1() throws FileNotFoundException {...} }
      
      







рдФрд░ рд╣рдо рдордЬрдмреВрдд (рджреЛрдиреЛрдВ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рдкреВрд░реНрд╡рдЬ) рдХреЛ "рдбрд░рд╛" рд╕рдХрддреЗ рд╣реИрдВ

 import java.io.EOFException; import java.io.FileNotFoundException; import java.io.IOException; public class App { //    public static void main(String[] args) throws IOException { if (System.currentTimeMillis() % 2 == 0) { throw new EOFException(); } else { throw new FileNotFoundException(); } } }
      
      





рдпрд╛ рдЙрд╕ рддрд░рд╣

 import java.io.EOFException; import java.io.FileNotFoundException; public class App { //    public static void main(String[] args) throws IOException { f0(); f1(); } public static void f0() throws EOFException {...} public static void f1() throws FileNotFoundException {...} }
      
      







рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╡ рд╣реИ: EOFException рдФрд░ FileNotFoundException "IOException" рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рд╣реИрдВ, рдФрд░ InterruptedException "рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЕрдЫреВрддрд╛" рд╣реИ (InterruptedException IOException рдХрд╛ рд╡рдВрд╢рдЬ рдирд╣реАрдВ рд╣реИ)

 import java.io.EOFException; import java.io.FileNotFoundException; public class App { public static void main(String[] args) throws IOException, InterruptedException { f0(); f1(); f2(); } public static void f0() throws EOFException {...} public static void f1() throws FileNotFoundException {...} public static void f2() throws InterruptedException {...} }
      
      









5. рдпрд╛ рдкрдХрдбрд╝рдирд╛, рдпрд╛ рдлреЗрдВрдХрдирд╛



рдЖрдкрдХреЛ рдбрд░рд╛рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЕрд╡рд░реЛрдз рдХрд┐рдпрд╛ рдерд╛

рдЗрддрдирд╛

 public class App { public static void main(String[] args) { try { throw new Exception(); } catch (Exception e) { // ... } } }
      
      







рдпрд╛ рддреЛ (рд╣рдо рдкреВрд░реНрд╡рдЬреЛрдВ рдФрд░ рд╕рдЯреАрдХ рдЕрд╡рд░реЛрдзрди рдкрд░ рдкрдХрдбрд╝)

 public class App { public static void main(String[] args) { try { throw new Exception(); } catch (Throwable e) { // ... } } }
      
      







рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдХреЗрд╡рд▓ рдПрдХ рд╡рдВрд╢рдЬ рдХреЛ рд░реЛрдХ рджрд┐рдпрд╛ рдЧрдпрд╛, рддреЛ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

 public class App { public static void main(String[] args) { try { throw new Throwable(); } catch (Exception e) { // ... } } } >> COMPILATION ERROR: unhandled exception: java.lang.Throwable
      
      







рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, "рднрд╛рдИ" рдХрд╛ рдЕрдВрддрд░рд╡рд┐рд░реЛрдз рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ

 public class App { public static void main(String[] args) { try { throw new Exception(); } catch (Error e) { // ... } } } >> COMPILATION ERROR: unhandled exception: java.lang.Exception
      
      







рдпрджрд┐ рдЖрдкрдиреЗ рдХрд┐рд╕реА рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдмрд╛рдзрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ рдбрд░рд╛ рдирд╣реАрдВ рд╕рдХрддреЗ

 import java.io.EOFException; import java.io.FileNotFoundException; public class App { // EOFException  catch-,    public static void main(String[] args) throws FileNotFoundException { try { if (System.currentTimeMillis() % 2 == 0) { throw new EOFException(); } else { throw new FileNotFoundException(); } } catch (EOFException e) { // ... } } }
      
      









6. рдХрдВрдкрд╛рдЗрд▓рд░ / рдЬреЗрд╡реАрдПрдо рд╡реНрдпрд╡рд╣рд╛рд░



рдЗрд╕реЗ рд╕рдордЭрдирд╛ рд╣реЛрдЧрд╛

- рд╕рдВрдХрд▓рд┐рдд рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рдордп рдЬрд╛рдБрдЪ рд╣реЛрддреА рд╣реИ (рд╕рдВрдХрд▓рди-рд╕рдордп рдЬрд╛рдБрдЪ)

- рд░рдирд┐рдВрдЧ рдЕрдкрд╡рд╛рдж (рдХреИрдЪ) рд░рдирдЯрд╛рдЗрдо рдкрд░ рд╣реЛрддрд╛ рд╣реИ (рд░рдирдЯрд╛рдЗрдо рдЪреЗрдХрд┐рдВрдЧ)

 public class App { //  Exception public static void main(String[] args) throws Exception { Throwable t = new Exception(); //    Exception throw t; //     } } >> COMPILATION ERROR: unhandled exception: java.lang.Throwable
      
      







рдХреЗ рд╕рд╛рде рдкреВрд░реНрдг рд╕рд╛рджреГрд╢реНрдп

 public class App { public static void main(String[] args) throws Exception { Object ref = "Hello!"; // ref    char c = ref.charAt(0); //     } } >> COMPILATION ERROR: Cannot resolve method 'charAt(int)'
      
      





рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕рдВрджрд░реНрдн рд▓рд┐рдВрдХ рдкреНрд░рдХрд╛рд░ java.lang.String (рдЬрд┐рд╕рдореЗрдВ рдПрдХ charAt (int) рд╡рд┐рдзрд┐ рд╣реИ) рдХрд╛ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ, рд▓рд┐рдВрдХ рдХрд╛ TYPE java.lang.Object рд╣реИ (рдкреНрд░рдХрд╛рд░ java .lang.Object рдХрд╛ рдПрдХ рдкреНрд░рдХрд╛рд░ java.lang.String рдХрд╛ рдПрдХ рд╕рдВрджрд░реНрдн)ред рд╕рдВрдХрд▓рдХ "рдмрд╛рдПрдВ рдкреНрд░рдХрд╛рд░" (рд▓рд┐рдВрдХ рдХрд╛ рдкреНрд░рдХрд╛рд░, рд▓рд┐рдВрдХ рдХрд╛ рдкреНрд░рдХрд╛рд░ рдирд╣реАрдВ) рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЛрдб рдХреЛ рдЫреЛрдбрд╝рддрд╛ рдирд╣реАрдВ рд╣реИред



рд╣рд╛рд▓рд╛рдВрдХрд┐ SITUATION рдореЗрдВ, рдХрдВрдкрд╛рдЗрд▓рд░ рдЙрд╕ рдЯреА рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЕрдкрд╡рд╛рдж рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд░реЗрдлрд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдм рдЕрд▓рдЧ рд╕рдВрдХрд▓рди рдХреЗ рд╕рд╛рде рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рд╣рдо COULD SEPARATELY рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╡рд░реНрдЧ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдПрдХ рдЬрд╛рд░ рдореЗрдВ рдкреИрдХ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╡рд┐рддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ

 //  !   ! public class App { public static void f0(Throwable t) throws Exception { throw t; } public static void f1(Object ref){ char c = ref.charAt(0); } }
      
      





рдФрд░ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдЗрд╕ рд╡рд░реНрдЧ рдХреЛ рд▓реЗрддрд╛ рд╣реИ, рдЗрд╕реЗ рдХреНрд▓рд╛рд╕рдкрд╛рде рдореЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдФрд░ App.f0 (new Throwable ()) рдпрд╛ App.f1 (new Integer (42)) рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЬреЗрд╡реАрдПрдо рдПрдХ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░реЗрдЧрд╛ рдЬрд╣рд╛рдВ рдПрдХ рдЬрд╛рдБрдЪ рдЕрдкрд╡рд╛рдж рдХреЛ рдлреЗрдВрдХрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ рдХрд┐ рдХрдВрдкрд╛рдЗрд▓рд░ рдиреЗ рдЯреНрд░реИрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ (f0 рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ) рдпрд╛ рдПрдХ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ (рдПрдл 1 рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ) рдирд╣реАрдВ рд╣реИ!



рдЬрд╛рд╡рд╛ рд╕реНрдереИрддрд┐рдХ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рднрд╛рд╖рд╛ рд╣реИ (рдпрд╛рдиреА, рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╣реА рдЙрдкрдпреЛрдЧ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдирд╛ (рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдлрд╝реАрд▓реНрдб рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐, рдмреБрд▓рд╛рдпрд╛ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐, рдЪреЗрдХ рдХрд┐рдП рдЧрдП рдЕрдкрд╡рд╛рджреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ ...) рдХрдВрдкрд╛рдЗрд▓рд░ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ), рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рдХреБрдЫ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ (рдбрд╛рдпрдиреЗрдорд┐рдХ рдЯрд╛рдЗрдкрд┐рдВрдЧ рд╡рд╛рд▓реА рднрд╛рд╖рд╛рдПрдБ - рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╣реА рдЙрдкрдпреЛрдЧ рдХреА рдирд┐рдЧрд░рд╛рдиреА рд░рдирдЯрд╛рдЗрдо рджреНрд╡рд╛рд░рд╛ рдХреА рдЬрд╛рддреА рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ)ред



рдХрдВрдкрд╛рдЗрд▓рд░ рдЗрд╕ рдХреЛрдб рдХреЛ рдирд╣реАрдВ рдЫреЛрдбрд╝реЗрдЧрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЦреНрдп рд╡рд┐рдзрд┐ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рд╣реЛрдЧреА

 public class App { //  Exception public static void main(String[] args) throws Exception { try { Throwable t = new Exception(); //    Exception throw t; //     } catch (Exception e) { System.out.println("!"); } } } >> COMPILATION ERROR: unhandled exception: java.lang.Throwable
      
      







 public class App { //   Throwable public static void main(String[] args) throws Throwable { try { Throwable t = new Exception(); //    Exception throw t; } catch (Exception e) { //    Exception System.out.println("!"); } } } >> !
      
      









7. рдУрд╡рд░рд░рд╛рдЗрдбрд┐рдВрдЧ рдФрд░ рдереНрд░реЛ



рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рддреЗ рд╕рдордп, рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рдЕрдкрд╡рд╛рдж рд╕реВрдЪреА рдХреЛ рдкреВрд░реНрд╡рдЬ рдХреЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреЗред

рд▓реЗрдХрд┐рди рдпрд╣ рдкреВрд░реНрд╡рдЬреЛрдВ рдХреА рд╕реВрдЪреА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ "рдордЬрдмреВрдд" рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

 import java.io.FileNotFoundException; import java.io.IOException; public class Parent { //   IOException  InterruptedException public void f() throws IOException, InterruptedException {} } class Child extends Parent { //      IOException @Override public void f() throws FileNotFoundException {} }
      
      







рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣рд╛рдВ рд╣рдордиреЗ рдлреЗрдВрдХреЗ рдЧрдП рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ "рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░" рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА

 import java.io.IOException; public class Parent { public void f() throws IOException, InterruptedException {} } class ChildB extends Parent { @Override public void f() throws Exception {} } >> COMPILATION ERROR: overridden method does not throw 'java.lang.Exception'
      
      







рдЖрдк рдкреНрд░рдХрд╛рд░ рдХреЛ рд╕рдВрдХреАрд░реНрдг рдХреНрдпреЛрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡рд┐рд╕реНрддрд╛рд░ рдирд╣реАрдВ?

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрдерд┐рддрд┐ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

 public class Parent { //   Exception public void f() throws Exception {} }
      
      







 //     Java, , ,   public class Child extends Parent { //   Exception  Throwable public void f() throws Throwable {} }
      
      







 public class Demo { public static void test(Parent ref) { //   , Parent.f()  Exception     catch try { ref.f(); } catch(Exception e) {} } }
      
      







 public class App { public static void main(String[] args) { //   , Demo.test  Parent      - Child Demo.test(new Child()); } }
      
      







рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдкрд░ рдХрд░реАрдм рд╕реЗ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ - рдпрджрд┐ рдХреЛрдИ рд╡рдВрд╢рдЬ рдкреВрд░реНрд╡рдЬ рдХреЗ рдлреЗрдВрдХреЗ рдЧрдП рдЕрдкрд╡рд╛рдж рдХреЗ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдЙрди рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рдЬреЛ рдкреВрд░реНрд╡рдЬ рдХреЗ рд▓рд┐рдП "рдкреНрд░рддреАрдХреНрд╖рд╛" рдХрд░рддреЗ рд╣реИрдВ рдФрд░ "рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд" рд╡рдВрд╢ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рд░реВрдк рд╕реЗ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдлреЗрдВрдХ рд╕рдХрддреЗ рд╣реИрдВ





8. рд╡рд┐рд░рд╛рд╕рдд рджреНрд╡рд╛рд░рд╛ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рд╣рд╕реНрддрд╛рдВрддрд░рдг



рдЬрд╛рдБрдЪ / рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рд╕рдВрдкрддреНрддрд┐ рдЭрдВрдбреЗ рдХреЗ рд╕рд╛рде рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рдкрджрд╛рдиреБрдХреНрд░рдо рдХреЛ рдпрд╛рдж рдХрд░реЗрдВ

  Object | Throwable(CHECKED) / \ Error(UNCHECKED) Exception(CHECKED) | RuntimeException(UNCHECKED)
      
      





рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рд╕реНрдерд╛рди рддрд░реНрдХ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИред рд╣рдо рдЗрд╕ рддрд░реНрдХ рдкрд░ рдмрд╛рдж рдореЗрдВ (рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реЗрдЦреЛрдВ рдореЗрдВ) рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХрд╕реНрдЯрдо рдЕрдкрд╡рд╛рдж рд╡рд░реНрдЧреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХреА рдЧрдИ / рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рд╕рдВрдкрддреНрддрд┐ EXCLUSIVELY рдЖрдзрд╛рд░ рдкрд░ рдирд┐рд░реНрдорд┐рдд рд╣реИред

рдирд┐рдпрдо рдмреЗрд╣рдж рд╕рд░рд▓ рд╣реИ:

1. рдпрджрд┐ рд╕реВрдЪреА рд╕реЗ рдЕрдкрд╡рд╛рдж рдереНрд░реЛрдмреЗрдмрд▓, рддреНрд░реБрдЯрд┐, рдЕрдкрд╡рд╛рдж, рд░рдирдЯрд╛рдЗрдо рдПрдХреНрд╕реЗрдкреНрд╢рди рд╣реИ - рддреЛ рдЖрдкрдХреА рд╕рдВрдкрддреНрддрд┐ рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рдпрд╛рдж рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

2. рдпрджрд┐ рдЖрдк рд╕реВрдЪреА рд╕реЗ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЖрдкрдХреА рд╕рдВрдкрддреНрддрд┐ рдкреВрд░реНрд╡рдЬ рдХреА рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред рдпрд╣рд╛рдВ рд╡рд┐рд░рд╛рд╕рдд рдХреЛ рддреЛрдбрд╝рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред



рдпрджрд┐ рд╣рдо рд╡рдВрд╢рдЬреЛрдВ A, B, C, D, E, F, G, H, I, J, K, L рдХреЛ рдЬрдиреНрдо рджреЗрддреЗ рд╣реИрдВ, рдЬреЛ "рдкреНрд░рдХрдВрдж" (рдирд┐рдореНрди, рддреНрд░реБрдЯрд┐, рдЕрдкрд╡рд╛рдж, RimeimeException) рд╕реЗ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реЗ рд╣реИрдВ, рддреЛ рдЙрдирдХреА рдЬрд╛рдБрдЪ рдХреА рдЧрдИ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдореВрд▓реНрдп / рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдЖрд░реЗрдЦ рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

  Object | Throwable(CHECKED) / | \ Error(UNCHECKED) | Exception(CHECKED) | | | | | A(UNC) D(UNC) | F(C) RuntimeException(UNCHECKED) / \ | / \ | | B(UNC) C(UNC) | G(C) H(C) I(UNC) J(UNC) E(C) / \ K(UNC) L(UNC)
      
      







рд╕рдВрдкрд░реНрдХ рд╡рд┐рд╡рд░рдг





рдореИрдВ рдЬрд╛рд╡рд╛ рдСрдирд▓рд╛рдЗрди рдкреНрд░рд╢рд┐рдХреНрд╖рдг ( рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкрд╛рдареНрдпрдХреНрд░рдо ) рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЬрд╛рд╡рд╛ рдХреЛрд░ рдХреЛрд░реНрд╕ рдХреЗ рд░реАрдбрд┐рдЬрд╛рдЗрди рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╕рд╛рдордЧреНрд░реА рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддрд╛ рд╣реВрдВред рдЖрдк YouTube рдЪреИрдирд▓ рдкрд░ рджрд░реНрд╢рдХреЛрдВ рдХреЗ рд╡реНрдпрд╛рдЦреНрдпрд╛рди рдХреА рд╡реАрдбрд┐рдпреЛ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╢рд╛рдпрдж рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЪреИрдирд▓ рдХрд╛ рд╡реАрдбрд┐рдпреЛ рдмреЗрд╣рддрд░ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд╣реИред

рдореЗрд░реА рд╢рд┐рдХреНрд╖рдг рдкрджреНрдзрддрд┐ рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ

  1. рд╡рд┐рднрд┐рдиреНрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИ
  2. рдореИрдВ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рддреЗрдЬреА рд╕реЗ рдЬрдЯрд┐рд▓ рдЕрдиреБрдХреНрд░рдо рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ
  3. рд▓реЗрдЦрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд рддрд░реНрдХ (рдЬрд╣рд╛рдБ рддрдХ рд╕рдВрднрд╡ рд╣реЛ) рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░реЗрдВ
  4. рдореИрдВ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг (50-100) рдХреЛ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рд╕рдордЭрдиреЗ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЗрддрд╛ рд╣реВрдВ
  5. рдореИрдВ рд╕реНрд╡рддрдВрддреНрд░ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рджреЗрддрд╛ рд╣реВрдВ


рдпрд╣ рд▓реЗрдЦ рдкреИрд░рд╛рдЧреНрд░рд╛рдл # 1 (рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдХрд▓реНрдк) рдФрд░ # 2 (рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдПрдХ рдХреНрд░рдо) рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддрд╛ рд╣реИред



рд╕реНрдХрд╛рдЗрдк: рдЧреЛрд▓реЛрд╡рдЪрдХреНрд░реНрд╕

рдИрдореЗрд▓: GolovachCourses@gmail.com



All Articles