рдХрд╣рд╛рдБ рдЧрд▓рддреА рд╣реИ, рдмрд┐рд▓реА? рд╣рдореЗрдВ рдПрдХ рдЧрд▓рддреА рдЪрд╛рд╣рд┐рдП ...


рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ, рдореЗрд░реЗ рд╕рд╣рдпреЛрдЧреА рдиреЗ рдЬрд╛рд╡рд╛ / рдХреЛрдЯрд▓рд┐рди рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд▓реЗрдЦ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдерд╛ред рдФрд░ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рдЧрдпрд╛ рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╕рдВрдЪрд░рдг рдХреЗ рдХреМрди рд╕реЗ рддрд░реАрдХреЗ рдореМрдЬреВрдж рд╣реИрдВред рдпрджрд┐ рдЖрдк рднреА рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдХрдЯреМрддреА рдХреЗ рддрд╣рдд рдЕрдиреБрд╕рдВрдзрд╛рди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдХреБрдЫ рд╡рд┐рджреЗрд╢реА рддрд░реАрдХреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдЙрдореНрдореАрдж рд╣реИ, рдЬреЛ рдХрднреА-рдХрднреА рд╣рдмреНрд░реЗ рд▓реЗрдЦ рдкрд░ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рдФрд░ рдЙрдкрдпреЛрдЧреА рд╣реЛрддреЗ рд╣реИрдВред :)

рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдореЗрдВ, рддреНрд░реБрдЯрд┐ рдХреЛ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рддрд░реАрдХреЛрдВ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рд╣рдо рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд┐рдШрдЯрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдЙрдирдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рддреАрди рд╣реИрдВ: рдПрдХ рд╕рдорд╛рд░реЛрд╣ рд╕реЗ рдкреНрд░рддреНрдпрдХреНрд╖ рд╡рд╛рдкрд╕реА, рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рд╣рд╕реНрддрд╛рдВрддрд░рдг, рдФрд░ рд░рд╛рдЬреНрдп рдХреА рд╕реНрдерд╛рдкрдирд╛ред рдмрд╛рдХреА рд╕рдм рдХреБрдЫ, рдПрдХ рдбрд┐рдЧреНрд░реА рдпрд╛ рджреВрд╕рд░реЗ рддрдХ, рдЗрди рддрд░реАрдХреЛрдВ рдХрд╛ рдПрдХ рдорд┐рд╢реНрд░рдг рд╣реИред рдиреАрдЪреЗ рдореИрдВрдиреЗ рдЗрди рддреАрди рдкреНрд░рдЬрд╛рддрд┐рдпреЛрдВ рдХреЗ рдореБрдЦреНрдп рдкреНрд░рддрд┐рдирд┐рдзрд┐рдпреЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдФрд░ рдЙрдирдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред

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

рдкреНрд░рддреНрдпрдХреНрд╖ рд╡рд╛рдкрд╕реА


рдбрд╛рдпрд░реЗрдХреНрдЯ рд░рд┐рдЯрд░реНрди рд╕рд╛рдзрд╛рд░рдг рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕рдВрднрд╡рддрдГ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╡рд┐рдзрд┐ рд╣реИ, рд▓реЗрдХрд┐рди рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреА рд╡рд┐рдзрд┐ рдЙрди рд╕рднреА рдХреЛ рдПрдХрдЬреБрдЯ рдХрд░рддреА рд╣реИ - рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ред

  1. рд╡рд╛рдкрд╕реА рдХреА рд╕реНрдерд┐рддрд┐ред рд╕рдмрд╕реЗ рднреЛрдЬ рд╡рд┐рдХрд▓реНрдк TRUE рд╣реИ (рдпрджрд┐ рдЗрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛) рдпрд╛ FALSE (рдпрджрд┐ рдХреЛрдИ рд╡рд┐рдлрд▓рддрд╛ рдереА)ред
  2. рд╕рдлрд▓рддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рд╣реА рдореВрд▓реНрдп рд▓реМрдЯрд╛рдПрдВ рдФрд░ рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЧрд▓рддред
    рд╕реА / рд╕реА ++
    Strchr () рдлрд╝рдВрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЧрд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рд╡рд░реНрдг ch рдХреА рдкрд╣рд▓реА рдШрдЯрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдпрджрд┐ ch рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ, рддреЛ NULL рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ рд╣реИред

    рдЕрдХреНрд╕рд░, рд░рд╛рдЬреНрдп рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд╕рд╛рде рджреГрд╖реНрдЯрд┐рдХреЛрдг 1 рдФрд░ 2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  3. рддреНрд░реБрдЯрд┐ рдХреЛрдб рд▓реМрдЯрд╛рдПрдВред рдпрджрд┐ рд╣рдо рди рдХреЗрд╡рд▓ рдпрд╣ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдирд┐рд╖реНрдкрд╛рджрди рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдпрд╣ рднреА рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХрд╣рд╛рдВ рд╣реБрдИ рд╣реИред рдЖрдорддреМрд░ рдкрд░, рдпрджрд┐ рдлрд╝рдВрдХреНрд╢рди рддреНрд░реБрдЯрд┐ рдХреЗ рдмрд┐рдирд╛ рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХреЛрдб 0 рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реИред рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╢рд░реАрд░ рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдерд╛рди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдХреБрдЫ рдЧрд▓рдд рд╣реЛ рдЧрдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рд▓реЛрд╣реЗ рдХрд╛ рдирд┐рдпрдо рдирд╣реАрдВ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, HTTP рдкрд░ рдЗрд╕рдХреЗ 200 рдХреЗ рд╕рд╛рдеред
  4. рдорд╛рдиреЛрдВ рдХреА рдЕрдорд╛рдиреНрдп рд╢реНрд░реЗрдгреА рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХреЛрдб рд▓реМрдЯрд╛рдПрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдо рддреМрд░ рдкрд░ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдПрдХ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкреВрд░реНрдгрд╛рдВрдХ рд▓реМрдЯрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрд╕рдХрд╛ рдХреЛрдб рдорд╛рдЗрдирд╕ рд╕рд╛рдЗрди рдХреЗ рд╕рд╛рдеред

    function countElements(param) { if (!isArray(param)) { return -10; } else if(!isInitialized(param)){ return -20 } else { return count(array); } } 

  5. рд╕рдХрд╛рд░рд╛рддреНрдордХ рдФрд░ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рд▓реМрдЯрд╛рдПрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд╛рдордорд╛рддреНрд░ - рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ, рд▓реЗрдХрд┐рди рдирд╛рдордорд╛рддреНрд░ рдирд╣реАрдВ - рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдпрд╛ рд╡рд░реНрдЧ рд╕рдлрд▓рддрд╛ рдФрд░ рд╡рд░реНрдЧ рддреНрд░реБрдЯрд┐ ред

     sealed class UserProfileResult { data class Success(val userProfile: UserProfileDTO) : UserProfileResult() data class Error(val message: String, val cause: Exception? = null) : UserProfileResult() } val avatarUrl = when (val result = client.requestUserProfile(userId)) { is UserProfileResult.Success -> result.userProfile.avatarUrl is UserProfileResult.Error -> "http://domain.com/defaultAvatar.png" } 

    рдЖрдк рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рджреБрдирд┐рдпрд╛ рд╕реЗ рдпрд╛ рддреЛ рдпрд╛рдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣рд╛рдВ рдЖрдк рдмрд╣рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  6. рдкрд░рд┐рдгрд╛рдо рдФрд░ рддреНрд░реБрдЯрд┐ рджреЛрдиреЛрдВ рд╣реА рдпреБрдХреНрдд рд╕рдВрд░рдЪрдирд╛ рд▓реМрдЯрдирд╛ред

     function doSomething(): array { ... if($somethingWrong === true) { return ["result" => null, "error" => "Alarm!!!"]; } else { return ["result" => $result, "error" => null]; } ... } 

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

     f, err := Sqrt(-1) if err != nil { fmt.Println(err) } 

рд░рд╛рдЬреНрдп рдХреА рд╕реНрдерд╛рдкрдирд╛


рд╕рдмрд╕реЗ рдкреБрд░рд╛рдирд╛ рдФрд░ рдХрдЯреНрдЯрд░ рд╕рдВрд╕реНрдХрд░рдг, рдЬрд┐рд╕рдиреЗ рдЖрдЬ рддрдХ рдЗрд╕рдХреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдирд╣реАрдВ рдЦреЛрдИ рд╣реИред рдпрд╣ рдЗрд╕ рддрдереНрдп рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреБрдЫ рднреА рдирд╣реАрдВ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдФрд░ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдЗрдХрд╛рдИ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдореВрд▓реНрдп (рдХрд┐рд╕реА рднреА рд░реВрдк рдореЗрдВ) рд▓рд┐рдЦрддрд╛ рд╣реИ, рдЪрд╛рд╣реЗ рд╡рд╣ рдПрдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рд░рдЬрд┐рд╕реНрдЯрд░, рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдпрд╛ рдирд┐рдЬреА рд╡рд░реНрдЧ рдХреНрд╖реЗрддреНрд░ рд╣реЛред рдЗрд╕ рддрд░рд╣ рдХреА рддреНрд░реБрдЯрд┐ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рд╕рд╣реА рдЬрдЧрд╣ рд╕реЗ рдореВрд▓реНрдп рдирд┐рдХрд╛рд▓рдиреЗ рдФрд░ рдЗрд╕реЗ рдЬрд╛рдВрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

  1. "рд╡реИрд╢реНрд╡рд┐рдХ" рд░рд╛рдЬреНрдп рдХреА рд╕реНрдерд╛рдкрдирд╛ред рдореИрдВрдиреЗ рдЗрд╕реЗ рдЙрджреНрдзрд░рдгреЛрдВ рдореЗрдВ рд▓рд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рд╣рдо рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рджрд╛рдпрд░реЗ рдореЗрдВ рд╡реИрд╢реНрд╡рд┐рдХрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред

     # ls /unknown/path 2>/dev/null # echo $? 1 

  2. рдЕрдкрдирд╛ рд░рд╛рдЬреНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ред рдЬрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХреБрдЫ рд╕рдВрд░рдЪрдирд╛ рд╣реЛрддреА рд╣реИред рдлрд╝рдВрдХреНрд╢рди рдЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рддрд┐ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рддреНрд░реБрдЯрд┐ рд╕рдВрд░рдЪрдирд╛ рд╕реЗ рдкрд╣рд▓реЗ рд╣реА рд╕реАрдзреЗ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╡рд┐рд╢реЗрд╖ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рдХрд╛рд▓реА рдЬрд╛рддреА рд╣реИред

     $mysqli = new mysqli("localhost", "my_user", "my_password", "world"); $result = $mysqli->query("SET a=1"); if ($mysqli->errno) { printf(" : %d\n", $mysqli->errno); } 

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

     Response response = client.newCall("https://www.google.com").execute(); Integer errorCode = response.getCode(); 


рдирд┐рдпрдВрддреНрд░рдг рд╕реНрдерд╛рдирд╛рдВрддрд░рдг


рдФрд░ рдЕрдм рд╣рдо рд╕рдмрд╕реЗ рдлреИрд╢рдиреЗрдмрд▓ рдкреНрд░рддрд┐рдорд╛рди рдкрд░ рдЖрддреЗ рд╣реИрдВред рдЕрдкрд╡рд╛рдж, рдХреЙрд▓рдмреИрдХ, рд╡реИрд╢реНрд╡рд┐рдХ рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд░ - рдпрд╣ рд╕рдмред рдЙрди рд╕рднреА рдХреЛ рдПрдХрдЬреБрдЯ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдирд┐рдпрдВрддреНрд░рдг рдПрдХ рдкреВрд░реНрд╡ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реИрдВрдбрд▓рд░ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЙрд╕ рдХреЛрдб рдХреЛ рдирд╣реАрдВ рдЬрд┐рд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

  1. рдЕрдкрд╡рд╛рджред рд╣рд░ рдХреЛрдИ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдлреЗрдВрдХ / рдХреЛрд╢рд┐рд╢ / рдкрдХрдбрд╝ред рдПрдХ рдЕрдкрд╡рд╛рдж рдХреЛ рдлреЗрдВрдХрддреЗ рд╣реБрдП, рдлрд╝рдВрдХреНрд╢рди рдПрдХ рд╕рдВрд░рдЪрдирд╛ рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рддреНрд░реБрдЯрд┐ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ рдФрд░, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░, рдЗрд╕рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдпреЛрдЧреА рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдирд┐рджрд╛рди рдХреА рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЙрд▓ рд╕реНрдЯреИрдХ)ред рдЙрд╕рдХреЗ рдмрд╛рдж, рдЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рддрдВрддреНрд░ рдХреЛ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдХреЙрд▓ рд╕реНрдЯреИрдХ рдХреЗ рд╕рд╛рде "рд░реЛрд▓ рдмреИрдХ" рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдкрдХрдбрд╝рдиреЗ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдЬреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рддрд░реАрдХрд╛ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рдЕрдкрд╡рд╛рдж рдХреЛ рдлреЗрдВрдХрдиреЗ рдХрд╛ рдкреВрд░рд╛ рддрд░реНрдХ рд░рдирдЯрд╛рдЗрдо рджреНрд╡рд╛рд░рд╛ рд╣реА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд╣реА рдЦрд░рд╛рдм рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдУрд╡рд░рд╣реЗрдб рд▓рд╛рдЧрдд (рдЪрд▓реЛ рдХреЗрд╡рд▓ рд╣реЛрд▓рд┐рд╡рд░реЛрд╡ :) рдХреЗ рдмрд┐рдирд╛)ред
  2. рд╡реИрд╢реНрд╡рд┐рдХ рддреНрд░реБрдЯрд┐ рд╕рдВрдЪрд╛рд▓рдХреЛрдВред рд╕рдмрд╕реЗ рдЖрдо рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдпрд╣ рднреА рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣рд╛рдБ рдХреНрдпрд╛ рдмрддрд╛рдирд╛ рд╣реИред рд╢рд╛рдпрдж рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рддрдВрддреНрд░ рдХреЛ рдЬрд┐рдореНрдореЗрджрд╛рд░ рдард╣рд░рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдЬрдм рдореБрдЦреНрдп рдзрд╛рд░рд╛ рд╕реЗ рджреВрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдб рдЗрд╕рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реА рдШрдЯрдирд╛рдУрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИред

     function myErrorHandler($errno, $errstr, $errfile, $errline) { echo "<b>Custom error:</b> [$errno] $errstr<br>"; echo " Error on line $errline in $errfile<br>"; } set_error_handler("myErrorHandler"); 

  3. рдХреЙрд▓рдмреИрдХред рд╡реЗ рдПрдВрдбреНрд░реЙрдЗрдб, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдмрд╣реБрдд рдкреНрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдорд╛рдлреА рдорд╛рдБрдЧрддреЗ рд╣реИрдВред рд╕рд╛рд░ рд╕рд░рд▓ рд╣реИ: рд╕рдВрд╕рд╛рдзрд┐рдд рдбреЗрдЯрд╛ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣реИрдВрдбрд▓рд░ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореБрдЦреНрдп рдлрд╝рдВрдХреНрд╢рди рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВрдбрд▓рд░ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдЧрд╛ рдФрд░ рддреНрд░реБрдЯрд┐ рдХреЛ рдкрд╛рд╕ рдХрд░реЗрдЧрд╛ред

     var observer = Rx.Observer.create( x => console.log(`onNext: ${x}`), e => console.log(`onError: ${e}`), () => console.log('onCompleted')); 


рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рднреА рдирд╣реАрдВ рднреВрд▓ рдЧрдпрд╛ рд╣реИред

рдФрд░ рдПрдХ рдордЬрд╝реЗрджрд╛рд░ рддрдереНрдпред рд╕рдВрднрд╡рддрдГ рдПрдХ рддреНрд░реБрдЯрд┐ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдореВрд▓ рддрд░реАрдХрд╛, рдПрдХ рд╣реА рд╕рдордп рдХреЗ рдЕрдкрд╡рд╛рджреЛрдВ рдХрд╛ рд╕рдВрдпреЛрдЬрди, рд░рд╛рдЬреНрдп рдХреА рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рдХрдИ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдирд╛, рдореИрдВ Informix SPL рдореЗрдВ рдорд┐рд▓рд╛ (рдореИрдВ рдореЗрдореЛрд░реА рд╕реЗ рд▓рд┐рдЦрддрд╛ рд╣реВрдВ):

 CREATE PROCEDURE some_proc(...) RETURNING int, int, int, int; тАж ON EXCEPTION SET SQLERR, ISAMERR RETURN 0, SQLERR, ISAMERR, USRERR; END EXCEPTION; LET USRERR = 1; -- do Something That May Raise Exception LET USRERR = 2; -- do Something Other That May Raise Exception тАж RETURN result, 0, 0, 0; END PROCEDURE 

Source: https://habr.com/ru/post/hi472506/


All Articles