{"id":2455,"date":"2016-10-05T03:23:05","date_gmt":"2016-10-05T03:23:05","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=2455"},"modified":"2016-10-05T03:23:05","modified_gmt":"2016-10-05T03:23:05","slug":"golang-go%ec%9d%98-try-catch-finally-%ea%b5%ac%eb%ac%b8","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=2455","title":{"rendered":"[Golang] Go\uc758 try .. catch .. finally \uad6c\ubb38"},"content":{"rendered":"<p>Go\ub294 try .. catch .. finally \uad6c\ubb38\uc744 \uc81c\uacf5\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uadf8\ub798\uc11c \uc544\ub798\uc640 \uac19\uc740 \ucf54\ub4dc\uc758 \uacbd\uc6b0 \ud504\ub85c\uadf8\ub7a8\uc740 \ud328\ub2c9(Panic)\uc5d0 \ube60\uc9c0\uace0 \uc885\ub8cc\ub429\ub2c8\ub2e4.<\/p>\n<pre>\npackage main\n\nimport (\n    \"fmt\"\n)\n\nfunc main() {\n    fmt.Println(\"result:\", divide(1, 0))\n\n    fmt.Println(\"Today is good day.\")\n}\n\nfunc divide(a, b int) int {\n    return a \/ b\n}\n<\/pre>\n<p>try \uad6c\ubb38\uc774 \uc788\ub2e4\uba74 divide \ud568\uc218 \ub0b4\ubd80\ucbe4\uc5d0\uc11c try \uad6c\ubb38\uc744 \ud1b5\ud574 0\uc73c\ub85c \ub098\ub268\uc5d0 \ub300\ud55c \uc608\uc678\ub97c \ucc98\ub9ac\ud558\uace0 \ub2e4\uc2dc \uc815\uc0c1\uc801\uc778 \ucc98\ub9ac\ub85c \ubcf5\uad6c\ud574 \ucd5c\uc885\uc801\uc73c\ub85c &#8220;Today is good day.&#8221;\ub97c \ud654\uba74\uc5d0\uc11c \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\uc5d0 \ub300\ud55c Go\uc758 \ucc98\ub9ac\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<pre>\npackage main\n\nimport (\n    \"fmt\"\n)\n\nfunc main() {\n    fmt.Println(\"result:\", divide(1, 0))\n\n    fmt.Println(\"Today is good day.\")\n}\n\nfunc divide(a, b int) int {\n    defer func() {\n        if err := recover(); err != nil {\n            fmt.Println(err)\n        }\n    }()\n\n    return a \/ b\n}\n<\/pre>\n<p>defer\uc640 recover\ub97c \ud1b5\ud55c \uac83\uc73c\ub85c defer\uc758 \uc778\uc790\ub85c \uc9c0\uc815\ub41c \ud568\uc218\ub294 \ub9c8\uc9c0\ub9c9\uc5d0 \ubc18\ub4dc\uc2dc \ud638\ucd9c\uc774 \ubcf4\uc7a5\ub429\ub2c8\ub2e4. \ubc14\ub85c \uc774 defer\uc5d0 \uc9c0\uc815\ub41c \ud568\uc218 \uc548\uc5d0\uc11c recover\uc744 \ud638\ucd9c\ud574 \ub9cc\uc57d \ud604\uc7ac \ud328\ub2c9\uc0c1\ud0dc\ub77c\uba74 \uc5d0\ub7ec\uac12\uc744 \uc5bb\uace0 \uc815\uc0c1 \uc0c1\ud0dc\ub85c \ubcf5\uad6c\ub97c \ud558\uac8c \ub429\ub2c8\ub2e4. \uc774\uc81c 0\uc73c\ub85c \ub098\ub258\ub294 \uacbd\uc6b0\uc5d0\ub3c4 \uc5d0\ub7ec\uc758 \ub0b4\uc6a9\uace0 \ud568\uaed8 \ud504\ub85c\uadf8\ub7a8\uc744 \ub05d\uae4c\uc9c0 \uc815\uc0c1\uc801\uc73c\ub85c \uc2e4\ud589\ud558\uc5ec &#8220;Today is good day.&#8221;\ub97c \ud654\uba74\uc5d0 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc544\ub798\ucc98\ub7fc..<\/p>\n<pre>\nruntime error: integer divide by zero\nresult: 0\nToday is good day.\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Go\ub294 try .. catch .. finally \uad6c\ubb38\uc744 \uc81c\uacf5\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uadf8\ub798\uc11c \uc544\ub798\uc640 \uac19\uc740 \ucf54\ub4dc\uc758 \uacbd\uc6b0 \ud504\ub85c\uadf8\ub7a8\uc740 \ud328\ub2c9(Panic)\uc5d0 \ube60\uc9c0\uace0 \uc885\ub8cc\ub429\ub2c8\ub2e4. package main import ( &#8220;fmt&#8221; ) func main() { fmt.Println(&#8220;result:&#8221;, divide(1, 0)) fmt.Println(&#8220;Today is good day.&#8221;) } func divide(a, b int) int { return a \/ b } try \uad6c\ubb38\uc774 \uc788\ub2e4\uba74 divide \ud568\uc218 \ub0b4\ubd80\ucbe4\uc5d0\uc11c try \uad6c\ubb38\uc744 \ud1b5\ud574 &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=2455\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;[Golang] Go\uc758 try .. catch .. finally \uad6c\ubb38&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[113],"tags":[111],"class_list":["post-2455","post","type-post","status-publish","format-standard","hentry","category-golang","tag-golang"],"_links":{"self":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/2455","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2455"}],"version-history":[{"count":0,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/2455\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2455"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2455"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2455"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}