Next: , Previous: Examples of Catch, Up: Nonlocal Exits   [Contents][Index]


9.5.3 ¥¨¥é¡¼

Emacs Lisp¤¬¡¢¤Ê¤ó¤é¤«¤ÎÍýͳ¤Çɾ²Á¤Ç¤­¤Ê¤¤¥Õ¥©¡¼¥à¤òɾ²Á¤·¤è¤¦¤È¤·¤¿¤È¤­¤Ë¤Ï¡¢ Emacs Lisp¤Ï¥¨¥é¡¼¡Êerror¡Ë¤òÄÌÃΡÊsignals¡Ë¤·¤Þ¤¹¡£

¥¨¥é¡¼¤¬ÄÌÃΤµ¤ì¤ë¤È¡¢Emacs¤Î¥Ç¥Õ¥©¥ë¥È¤Îưºî¤Ï¡¢ ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¡¢¸½ºß¤Î¥³¥Þ¥ó¥É¤Î¼Â¹Ô¤ò½ªÎ»¤·¤Þ¤¹¡£ ¥Ð¥Ã¥Õ¥¡¤ÎËöÈø¤ÇC-f¤òÂǤ俤Ȥ­¤Ê¤É¤Î¤è¤¦¤Ë¡¢ ¤³¤ì¤Ï¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢Å¬Àڤʤ³¤È¤Ç¤¹¡£

Ê£»¨¤Ê¥×¥í¥°¥é¥à¤Ç¤Ï¡¢Ã±¤Ë½ªÎ»¤¹¤ë¤À¤±¤Ç¤ÏËþ­¤Ç¤­¤Ê¤¤¤³¤È¤â¤¢¤ê¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¥×¥í¥°¥é¥à¤Ç¤Ï¥Ç¡¼¥¿¹½Â¤¤Ë°ì»þŪ¤ÊÊѹ¹¤ò²Ã¤¨¤Æ¤¤¤¿¤ê¡¢ ¥×¥í¥°¥é¥à½ªÎ»»þ¤Ë¤Ïºï½ü¤¹¤ëɬÍפ¬¤¢¤ë°ì»þŪ¤Ê¥Ð¥Ã¥Õ¥¡¤òºîÀ®¤¹¤ë¤Ç¤·¤ç¤¦¡£ ¤½¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï¡¢unwind-protect¤ò»È¤Ã¤Æ¡¢ ¥¨¥é¡¼È¯À¸»þ¤Ëɾ²Á¤µ¤ì¤ë¸å»ÏËö¼°¡Êcleanup expressions¡Ë¤ò ³ÎΩ¤·¤Æ¤ª¤­¤Þ¤¹¡£ ¡Êsee Cleanups¡£¡Ë ¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¡¢¥µ¥Ö¥ë¡¼¥Æ¥£¥ó¤Ç¥¨¥é¡¼¤¬È¯À¸¤·¤Æ¤â¡¢ ¥×¥í¥°¥é¥à¤Î¼Â¹Ô¤ò·Ñ³¤·¤¿¤¤¤³¤È¤â¤¢¤ë¤Ç¤·¤ç¤¦¡£ ¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï¡¢condition-case¤ò»È¤Ã¤Æ¡¢ ¥¨¥é¡¼¾õÂÖ¤«¤éÀ©¸æ¤ò²óÉü¤¹¤ë¤¿¤á¤Î ¥¨¥é¡¼¥Ï¥ó¥É¥é¡Êerror handlers¡Ë¤ò³ÎΩ¤·¤Æ¤ª¤­¤Þ¤¹¡£

¥¨¥é¡¼½èÍý¤òÍѤ¤¤Æ¥×¥í¥°¥é¥à¤Î¤¢¤ë¾ì½ê¤«¤éÊ̤ξì½ê¤ØÀ©¸æ¤ò°Ü¤¹¡¢ ¤È¤¤¤¦Í¶ÏǤˤÏÂѤ¨¤Æ¤¯¤À¤µ¤¤¡£ ¤½¤Î¤«¤ï¤ê¤Ëcatch¤Èthrow¤ò»È¤¤¤Þ¤·¤ç¤¦¡£ See Catch and Throw¡£