Next: , Previous: Errors, Up: Errors   [Contents][Index]


9.5.3.1 ¥¨¥é¡¼¤ÎÄÌÃÎÊýË¡

¤Û¤È¤ó¤É¤Î¥¨¥é¡¼¤Ï¡¢Â¾¤ÎÌÜŪ¤Ç¸Æ¤Ó½Ð¤·¤¿Lisp´Ø¿ô¤ÎÆâÉô¤Ç¡Ø¼«Æ°Åª¡Ù¤Ë ÄÌÃΤµ¤ì¤Þ¤¹¡£ À°¿ô¤ÎCAR¤ò·×»»¤·¤è¤¦¤È¤·¤¿¤ê¡¢ ¥Ð¥Ã¥Õ¥¡¤ÎËöÈø¤Ç1ʸ»ú¿Ê¤á¤è¤¦¤È¤·¤¿¤ê¤·¤¿¤È¤­¤Ê¤É¤Ç¤¹¡£ ´Ø¿ôerror¤ä´Ø¿ôsignal¤Ç¡¢ ÌÀ¼¨Åª¤Ë¥¨¥é¡¼¤òÄÌÃΤ¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£

¥æ¡¼¥¶¡¼¤¬C-g¤òÂǤ俤Ȥ­¤ËȯÀ¸¤¹¤ëÃæÃǤϡ¢ ¥¨¥é¡¼¤È¤Ï¹Í¤¨¤Þ¤»¤ó¤¬¡¢¥¨¥é¡¼¤Î¤è¤¦¤Ë°·¤¤¤Þ¤¹¡£

Function: error format-string &rest args

¤³¤Î´Ø¿ô¤Ï¡¢format-string¤Èargs¤Ë format¡Êsee String Conversion¡Ë¤òŬÍѤ·¤Æºî¤Ã¤¿ ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òȼ¤Ã¤¿¥¨¥é¡¼¤òÄÌÃΤ¹¤ë¡£

error¤Îŵ·¿Åª¤Ê»È¤¤Êý¤ò°Ê²¼¤Ë¼¨¤¹¡£

(error "That is an error -- try something else")
     error→ That is an error -- try something else
(error "You have committed %d errors" 10)
     error→ You have committed 10 errors

error¤Ï¡¢2¤Ä¤Î°ú¿ô¡¢ ¥¨¥é¡¼¥·¥ó¥Ü¥ëerror¤Èformat¤¬ÊÖ¤¹Ê¸»úÎó¤ò´Þ¤à¥ê¥¹¥È ¤Çsignal¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Çưºî¤¹¤ë¡£

·Ù¹ð¡§ ÆÈ¼«¤Î¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò¤½¤Î¤Þ¤Þ»È¤¤¤¿¤¤¾ì¹ç¤Ë¡¢ ñ¤Ë(error string)¤È¤Ï½ñ¤«¤Ê¤¤¤³¤È¡£ string¤Ë‘%’¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤È¡¢ ¤½¤ì¤Ï½ñ¼°ÉÕ¤±»ØÄê¤È²ò¼á¤µ¤ì¡¢Í½Â¬ÉÔǽ¤Ê·ë²Ì¤ò¾·¤¯¡£ ¤½¤Î¤«¤ï¤ê¤Ë¡¢(error "%s" string)¤ò»È¤¦¡£

Function: signal error-symbol data

¤³¤Î´Ø¿ô¤Ï¡¢error-symbol¤È¤¤¤¦Ì¾Á°¤Î¥¨¥é¡¼¤òÄÌÃΤ¹¤ë¡£ °ú¿ôdata¤Ï¡¢¥¨¥é¡¼¤Î¾õ¶·¤Ë´ØÏ¢¤·¤¿Lisp¥ª¥Ö¥¸¥§¥¯¥È¤Î¥ê¥¹¥È¤Ç¤¢¤ë¡£

°ú¿ôerror-symbol¤Ï¡¢¥¨¥é¡¼¥·¥ó¥Ü¥ë¡Êerror symbol¡Ë¤Ç¤¢¤ë ɬÍפ¬¤¢¤ë¡£ ¤Ä¤Þ¤ê¡¢Â°À­error-conditions¤ò»ý¤Ä¥·¥ó¥Ü¥ë¤Ç¤¢¤ê¡¢ ¤½¤Î°À­ÃͤϾò·ï̾¤Î¥ê¥¹¥È¤Ç¤¢¤ë¡£ ¤³¤ì¤Ë¤è¤ê¡¢Emacs¤Ï¥¨¥é¡¼¤Î°Û¤Ê¤ë¼ïÎà¤òʬÎह¤ë¡£

data¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î¸Ä¿ô¤È½ÅÍ×À­¤Ïerror-symbol¤Ë°Í¸¤¹¤ë¡£ ¤¿¤È¤¨¤Ð¡¢¥¨¥é¡¼wrong-type-arg¤Ç¤Ï¡¢ ¥ê¥¹¥È¤Ë¤Ï2¤Ä¤Î¥ª¥Ö¥¸¥§¥¯¥È¤¬¤¢¤ë¤Ï¤º¤Ç¡¢ ͽ´ü¤·¤¿·¿¤òɽ¤¹½Ò¸ì¤È¤½¤Î·¿¤Ë°ìÃפ·¤Ê¤«¤Ã¤¿¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤ë¡£ ¥¨¥é¡¼¥·¥ó¥Ü¥ë¤ÎÀâÌÀ¤Ï¡¢see Error Symbols¡£

error-symbol¤Èdata¤Îξ¼Ô¤Ï¡¢ Ǥ°Õ¤Î¥¨¥é¡¼¥Ï¥ó¥É¥é¤ÇÍøÍѤǤ­¤ë¡£ condition-case¤Ï¡¢¥í¡¼¥«¥ëÊÑ¿ô¤Ë ¥Õ¥©¡¼¥à(error-symbol . data)¤Î¥ê¥¹¥È¤ò«Çû¤¹¤ë ¡Êsee Handling Errors¡Ë¡£ ¥¨¥é¡¼¤¬½èÍý¤µ¤ì¤Ê¤¤¤È¡¢¤³¤ì¤é¤Î2¤Ä¤ÎÃͤϥ¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤Îɽ¼¨¤Ë»È¤ï¤ì¤ë¡£

´Ø¿ôsignal¤Ï¤±¤Ã¤·¤ÆÌá¤é¤Ê¤¤ ¡Ê¤·¤«¤·¡¢Emacs¤Î¸Å¤¤ÈǤǤÏÌá¤ë¾ì¹ç¤â¤¢¤ë¡Ë¡£

(signal 'wrong-number-of-arguments '(x y))
     error→ Wrong number of arguments: x, y
(signal 'no-such-error '("My unknown error condition"))
     error→ peculiar error: "My unknown error condition"

Common Lisp¤Ë´Ø¤·¤¿Ãí°Õ¡§ Emacs¤Ë¤Ï¡¢Common lisp¤Î·Ñ³²Äǽ¤Ê¥¨¥é¡¼¤Î³µÇ°¤ËÁêÅö¤¹¤ë¤â¤Î¤Ï¤Ê¤¤¡£