| ½Ãµµ :: Tiny :: SmartCatch. °·ÂÇÑ ¿¹¿Ü 󸮸¦À§ÇÑ °æ·® Perl ¸ðµâ |
Áö±Ý ´Ù¿î·Îµå |
½Ãµµ :: Tiny :: SmartCatch. ¼øÀ§ ¹× ¿ä¾à
- ƯÇã:
- Perl Artistic License
- °Ô½ÃÀÚ À̸§:
- Marcin Sztolcman
- °Ô½ÃÀÚ À¥»çÀÌÆ®:
- http://search.cpan.org/~mysz/
½Ãµµ :: Tiny :: SmartCatch. ű×
½Ãµµ :: Tiny :: SmartCatch. ¼³¸í
½Ãµµ :: Tiny :: SmartCatch´Â ¿¹¿Ü¸¦ ó¸®ÇÏ´Â °£´ÜÇÑ Perl ¸ðµâÀÔ´Ï´Ù. ±×°ÍÀº ÁÖ·Î Yuval KogmanÀÇ Try :: Tiny ModuleÀÇ »çº»ÀÌÁö¸¸, ¸î °¡Áö Ãß°¡ ±â´ÉÀ» »ç¿ëÇϸéÀÌ º¯°æ »çÇ׿¡ ´ëÇÑ ¸ñÇ¥´Â ¿øÇÏ´Â ¿¹¿Ü ¸¸ Àâ´Â ±â´ÉÀ» Ãß°¡ÇÏ´Â °ÍÀÔ´Ï´Ù. ¶ÇÇÑ ´õ ÀÌ»ó À͸íÀÇ ¼ºê ·çƾÀ» »ç¿ëÇÏÁö ¾Ê½À´Ï´Ù. °ø°³ ÇÏÀ§ Á¤ÀÇ°¡ ÀÖ½À´Ï´Ù. ÀÌ°ÍÀº ´ç½Å¿¡°Ô ´ú return ¹®À» ÀØ¾î ¹ö¸± ±âȸ°¡ ´ú Àͼ÷ÇØÁ³½À´Ï´Ù. ´Ù¸¥ °¡Á¤¿¡ ´ëÇØ ÀÐÀ¸·Á°íÇÏ´Â ¿¹¿Ü Çڵ鷯¿¡¼ ¹þ¾î³ª·Á¸é Àü½Å¿¡ ´ëÇØ ÀÐÀ¸½Ê½Ã¿À. try :: tiny notnopsis ½Ãµµ :: tiny :: smartcatch¸¦ »ç¿ëÇϽʽÿÀ. # ÀϺΠÄÚµå¿Í ±×³É ħ¹¬ ¿À·ù¸¦ È£ÃâÇϽʽÿÀ : Sub {# ÀϺΠÄڵ带 »ç¿ëÇϽʽÿÀ}; # È®Àå µÈ ¿À·ù 󸮰¡ÀÖ´Â ÀϺΠÄڵ带 È£ÃâÇϽʽÿÀ (¿¹¿Ü¸¦ °´Ã¼·Î ´øÁ®Áü) ÇÏÀ§ {die (Exception1-> New ( 'ÀϺΠ¿À·ù'))¸¦ ½ÃµµÇϽʽÿÀ. }, catch_when 'exception1'=> ve hand exception1 => sub {# ve hand exception2 ¶Ç´Â exception3 ¿¹¿Ü}, ´Ù¸¥ ¸ðµç ¿¹¿Ü ó¸®}, ¸¶Áö¸·À¸·Î ÇÏÀ§ {# ±×¸®°í ¸¶Áö¸·À¸·Î ´Ù¸¥ ÄÚµå}; # È®Àå µÈ ¿À·ù 󸮰¡ È®Àå µÈ ÀϺΠÄڵ带 È£ÃâÇϽʽÿÀ (¹®ÀÚ¿·Î ¿¹¿Ü¸¦ ´øÁü) ÇÏÀ§ {DIE ( 'ÀϺΠERROR1')¸¦ ½ÃµµÇϽʽÿÀ. }, catch_when 'error1'}, catch_when QR / ERROR \ D / => SUB {# °Ë»ö ¿¹¿Ü°¡ regexp}, catch_when => sub {error2'¶Ç´Â message}, catch_default sub {# ¸ðµÎ ó¸®}, ¸¶Áö¸·À¸·Î ¼ºê {#À» ó¸®ÇÏ°í ¸¶Áö¸·À¸·Î ´Ù¸¥ ÄÚµå}À» ½ÇÇàÇϽʽÿÀ. # ÀϺΠÄڵ带 ½ÃµµÇÏ°í, Àü´ÞÇÏ¸é ´Ù¸¥ Äڵ带 ½ÇÇàÇϽʽÿÀ. 'Hello, World!'¸¦ µ¹·ÁÁֽʽÿÀ. }, catch_default sub {say 'say'says acted : ', $ _; }, Sub {SAY '´Â ¸ðµÎ Àü´ÞµÇ¾ú°í ¿¹¿Ü°¡ ¹ß°ßµÇÁö ¾Ê¾Ò½À´Ï´Ù. ½Ãµµ¿¡¼ ¸Þ½ÃÁö¸¦ È®ÀÎÇϽʽÿÀ : '. $ _ ; }; Á¦Ç°ÀÇ È¨ÆäÀÌÁö
½Ãµµ :: Tiny :: SmartCatch. °ü·Ã ¼ÒÇÁÆ®¿þ¾î