{"id":7909,"date":"2014-10-01T19:52:31","date_gmt":"2014-10-01T11:52:31","guid":{"rendered":"http:\/\/ihower.tw\/blog\/?p=7909"},"modified":"2014-12-16T10:36:07","modified_gmt":"2014-12-16T02:36:07","slug":"exception-handling-designing-robust-software-in-ruby-%e6%8a%95%e5%bd%b1%e7%89%87","status":"publish","type":"post","link":"https:\/\/ihower.tw\/blog\/7909-exception-handling-designing-robust-software-in-ruby-%e6%8a%95%e5%bd%b1%e7%89%87","title":{"rendered":"Exception Handling: Designing Robust Software in Ruby  \u6295\u5f71\u7247"},"content":{"rendered":"<p>\u9019\u662f\u4e0a\u9031\u672b\u53c3\u52a0 <a href=\"http:\/\/railspacific.com\/\">Rails Pacific<\/a> \u6240\u7d66\u7684\u6f14\u8b1b\u6295\u5f71\u7247\uff1a<\/p>\n<p><iframe loading=\"lazy\" src=\"\/\/www.slideshare.net\/slideshow\/embed_code\/39575470\" width=\"427\" height=\"356\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" style=\"border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;\" allowfullscreen> <\/iframe><\/p>\n<div style=\"margin-bottom:5px\"> <strong> <a href=\"https:\/\/www.slideshare.net\/ihower\/exception-handling-designing-robust-software-in-ruby\" title=\"Exception Handling: Designing Robust Software in Ruby\" target=\"_blank\">Exception Handling: Designing Robust Software in Ruby<\/a> <\/strong> from <strong><a href=\"http:\/\/www.slideshare.net\/ihower\" target=\"_blank\">Wen-Tien Chang<\/a><\/strong> <\/div>\n<p>\u4ee5\u53ca\u6f14\u7a3f\u7248\u672c:<\/p>\n<p><iframe loading=\"lazy\" src=\"\/\/www.slideshare.net\/slideshow\/embed_code\/39591095\" width=\"427\" height=\"356\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" style=\"border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;\" allowfullscreen> <\/iframe><\/p>\n<div style=\"margin-bottom:5px\"> <strong> <a href=\"https:\/\/www.slideshare.net\/ihower\/exception-handling-39591095\" title=\"Exception Handling: Designing Robust Software in Ruby (with presentation note)\" target=\"_blank\">Exception Handling: Designing Robust Software in Ruby (with presentation note)<\/a> <\/strong> from <strong><a href=\"http:\/\/www.slideshare.net\/ihower\" target=\"_blank\">Wen-Tien Chang<\/a><\/strong> <\/div>\n<p>\u56e0\u61c9\u82f1\u6587\u6f14\u8b1b\u7684\u95dc\u4fc2\uff0c\u6240\u4ee5\u7279\u5225\u6e96\u5099\u4e86\u6f14\u7a3f\uff0c\u4e0d\u904e\u4e5f\u56e0\u6b64\u53ef\u80fd\u6bd4\u8f03\u7121\u8da3\u4e00\u9ede\uff0c\u4e0d\u50cf\u8b1b\u4e2d\u6587\u9019\u9ebc\u8f15\u9b06\u5c31\u662f\u4e86\u3002<\/p>\n<p>\u5c0d\u9019\u500b\u8b70\u984c\u6709\u8208\u8da3\u7684\u670b\u53cb\uff0c\u63a8\u85a6 Teddy \u7684<a href=\"http:\/\/www.books.com.tw\/exep\/assp.php\/ihower\/exep\/prod\/booksfile.php?item=0010637503\">\u4f8b\u5916\u8655\u7406\u8a2d\u8a08\u7684\u9006\u8972<\/a> \u548c Avdi \u7684 <a href=\"http:\/\/exceptionalruby.com\/\">Exceptional Ruby<\/a> \u9019\u5169\u672c\u66f8\uff0c\u8b93\u6211\u5b78\u5230\u4e86\u5f88\u591a\u3002\u6295\u5f71\u7247\u672b\u9084\u6709\u5217\u51fa\u5176\u4ed6\u7684\u53c3\u8003\u8cc7\u6599\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u9019\u662f\u4e0a\u9031\u672b\u53c3\u52a0 Rails Pacific \u6240\u7d66\u7684\u6f14\u8b1b\u6295\u5f71\u7247\uff1a Exception Handling: Des &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/ihower.tw\/blog\/7909-exception-handling-designing-robust-software-in-ruby-%e6%8a%95%e5%bd%b1%e7%89%87\" class=\"more-link\">\u95b1\u8b80\u5168\u6587<span class=\"screen-reader-text\">\u3008Exception Handling: Designing Robust Software in Ruby  \u6295\u5f71\u7247\u3009<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[31],"tags":[],"class_list":["post-7909","post","type-post","status-publish","format-standard","hentry","category-ruby","entry"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p1q6tG-23z","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/ihower.tw\/blog\/wp-json\/wp\/v2\/posts\/7909","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ihower.tw\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ihower.tw\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ihower.tw\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ihower.tw\/blog\/wp-json\/wp\/v2\/comments?post=7909"}],"version-history":[{"count":10,"href":"https:\/\/ihower.tw\/blog\/wp-json\/wp\/v2\/posts\/7909\/revisions"}],"predecessor-version":[{"id":8020,"href":"https:\/\/ihower.tw\/blog\/wp-json\/wp\/v2\/posts\/7909\/revisions\/8020"}],"wp:attachment":[{"href":"https:\/\/ihower.tw\/blog\/wp-json\/wp\/v2\/media?parent=7909"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ihower.tw\/blog\/wp-json\/wp\/v2\/categories?post=7909"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ihower.tw\/blog\/wp-json\/wp\/v2\/tags?post=7909"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}