GenericException.st
changeset 13009 e068f228a24b
parent 12940 33ad32d0a4de
child 13055 e1b9a8ca766e
equal deleted inserted replaced
13008:a27647c36b31 13009:e068f228a24b
   206      The argument is used as messageText."
   206      The argument is used as messageText."
   207 
   207 
   208     <context: #return>
   208     <context: #return>
   209 
   209 
   210     ^ (self newException
   210     ^ (self newException
   211         suspendedContext:thisContext sender
   211                 suspendedContext:thisContext sender
   212         errorString:messageText)
   212                 errorString:messageText)
   213             raiseSignal.
   213         raiseSignal.
       
   214 
       
   215     "Modified: / 10-08-2010 / 09:41:56 / cg"
   214 ! !
   216 ! !
   215 
   217 
   216 !GenericException class methodsFor:'Compatibility-Squeak'!
   218 !GenericException class methodsFor:'Compatibility-Squeak'!
   217 
   219 
   218 signal
   220 signal
   538      The signals notifierString is used as messageText."
   540      The signals notifierString is used as messageText."
   539 
   541 
   540     <context: #return>
   542     <context: #return>
   541     <resource: #skipInDebuggersWalkBack>
   543     <resource: #skipInDebuggersWalkBack>
   542 
   544 
   543     ^ (self newException
   545     ^ self basicNew
   544         suspendedContext:thisContext sender)
   546         raiseIn:thisContext sender
   545         raise
   547 
   546 
   548     "Created: / 23-07-1999 / 14:07:17 / stefan"
   547     "Modified: / 2.5.1996 / 16:36:23 / cg"
   549     "Modified: / 10-08-2010 / 09:30:42 / cg"
   548     "Modified: / 5.3.1998 / 16:44:36 / stefan"
       
   549     "Created: / 23.7.1999 / 14:07:17 / stefan"
       
   550 !
   550 !
   551 
   551 
   552 raiseErrorString:aString
   552 raiseErrorString:aString
   553     "raise a signal nonproceedable.
   553     "raise a signal nonproceedable.
   554      The argument is used as messageText."
   554      The argument is used as messageText."
   555 
   555 
   556     <context: #return>
   556     <context: #return>
   557     <resource: #skipInDebuggersWalkBack>
   557     <resource: #skipInDebuggersWalkBack>
   558 
   558 
   559     ^ (self newException
   559     ^ self basicNew
   560         suspendedContext:thisContext sender errorString:aString)
   560         raiseErrorString:aString
   561             raise.
   561         in:thisContext sender
   562 
   562 
   563     "Modified: / 9.5.1996 / 15:17:59 / cg"
   563     "Created: / 23-07-1999 / 14:07:33 / stefan"
   564     "Modified: / 12.3.1998 / 15:15:22 / stefan"
   564     "Modified: / 10-08-2010 / 09:34:37 / cg"
   565     "Created: / 23.7.1999 / 14:07:33 / stefan"
       
   566 !
   565 !
   567 
   566 
   568 raiseErrorString:aString in:aContext
   567 raiseErrorString:aString in:aContext
   569     "raise a signal nonproceedable.
   568     "raise a signal nonproceedable.
   570      The argument is used as messageText."
   569      The argument is used as messageText."
   571 
   570 
   572     <context: #return>
   571     <context: #return>
   573     <resource: #skipInDebuggersWalkBack>
   572     <resource: #skipInDebuggersWalkBack>
   574 
   573 
   575     ^ (self newException
   574     ^ self basicNew
   576         suspendedContext:aContext errorString:aString)
   575         raiseErrorString:aString in:aContext
   577             raise.
   576 
   578 
   577     "Created: / 23-07-1999 / 14:07:33 / stefan"
   579     "Modified: / 9.5.1996 / 15:17:59 / cg"
   578     "Modified: / 10-08-2010 / 09:35:37 / cg"
   580     "Modified: / 12.3.1998 / 15:15:22 / stefan"
       
   581     "Created: / 23.7.1999 / 14:07:33 / stefan"
       
   582 !
   579 !
   583 
   580 
   584 raiseFrom:something 
   581 raiseFrom:something 
   585     "raise a signal nonproceedable.
   582     "raise a signal nonproceedable.
   586      The argument, something is passed both as parameter and originator."
   583      The argument, something is passed both as parameter and originator."
   602      The signals notifierString is used as messageText."
   599      The signals notifierString is used as messageText."
   603 
   600 
   604     <context: #return>
   601     <context: #return>
   605     <resource: #skipInDebuggersWalkBack>
   602     <resource: #skipInDebuggersWalkBack>
   606 
   603 
   607     ^ (self newException
   604     ^ self basicNew
   608         suspendedContext:thisContext sender)
   605         raiseRequestIn:thisContext sender
   609         raiseRequest.
   606 
   610 
   607     "Created: / 23-07-1999 / 14:08:24 / stefan"
   611     "Modified: / 2.5.1996 / 16:36:52 / cg"
   608     "Modified: / 10-08-2010 / 09:37:06 / cg"
   612     "Modified: / 5.3.1998 / 16:50:46 / stefan"
       
   613     "Created: / 23.7.1999 / 14:08:24 / stefan"
       
   614 !
   609 !
   615 
   610 
   616 raiseRequestErrorString:aString
   611 raiseRequestErrorString:aString
   617     "raise a signal proceedable.
   612     "raise a signal proceedable.
   618      The argument, aString is used as messageText."
   613      The argument, aString is used as messageText."
   619 
   614 
   620     <context: #return>
   615     <context: #return>
   621     <resource: #skipInDebuggersWalkBack>
   616     <resource: #skipInDebuggersWalkBack>
   622 
   617 
   623     ^ (self newException
   618     ^ self basicNew
   624         suspendedContext:thisContext sender errorString:aString)
   619         raiseRequestErrorString:aString in:thisContext sender
   625         raiseRequest
   620 
       
   621     "Modified: / 10-08-2010 / 09:40:38 / cg"
   626 !
   622 !
   627 
   623 
   628 raiseRequestFrom:something 
   624 raiseRequestFrom:something 
   629     "raise a signal proceedable.
   625     "raise a signal proceedable.
   630      The argument, something is passed both as parameter and originator."
   626      The argument, something is passed both as parameter and originator."
   646      The signals notifierString is used as messageText."
   642      The signals notifierString is used as messageText."
   647 
   643 
   648     <context: #return>
   644     <context: #return>
   649     <resource: #skipInDebuggersWalkBack>
   645     <resource: #skipInDebuggersWalkBack>
   650 
   646 
   651     ^ (self newException
   647     ^ self basicNew
   652         suspendedContext:thisContext sender parameter:aParameter)
   648         raiseRequestWith:aParameter in:thisContext sender
   653         raiseRequest.
   649 
   654 
   650     "Created: / 23-07-1999 / 14:08:48 / stefan"
   655     "Modified: / 9.5.1996 / 15:13:20 / cg"
   651     "Modified: / 10-08-2010 / 09:57:14 / cg"
   656     "Modified: / 12.3.1998 / 15:16:57 / stefan"
       
   657     "Created: / 23.7.1999 / 14:08:48 / stefan"
       
   658 !
   652 !
   659 
   653 
   660 raiseRequestWith:aParameter errorString:aString
   654 raiseRequestWith:aParameter errorString:aString
   661     "raise a signal proceedable.
   655     "raise a signal proceedable.
   662      The argument, aString is used as messageText."
   656      The argument, aString is used as messageText."
   663 
   657 
   664     <context: #return>
   658     <context: #return>
   665     <resource: #skipInDebuggersWalkBack>
   659     <resource: #skipInDebuggersWalkBack>
   666 
   660 
   667     ^ (self newException
   661     ^ self basicNew
   668         suspendedContext:thisContext sender parameter:aParameter errorString:aString)
   662         raiseRequestWith:aParameter errorString:aString in:thisContext sender
   669         raiseRequest
   663 
   670 
   664     "Created: / 23-07-1999 / 14:08:57 / stefan"
   671     "Modified: / 9.5.1996 / 15:13:35 / cg"
   665     "Modified: / 10-08-2010 / 09:56:55 / cg"
   672     "Modified: / 12.3.1998 / 15:17:52 / stefan"
       
   673     "Created: / 23.7.1999 / 14:08:57 / stefan"
       
   674 !
   666 !
   675 
   667 
   676 raiseRequestWith:aParameter errorString:aString in:aContext
   668 raiseRequestWith:aParameter errorString:aString in:aContext
   677     "raise a signal proceedable.
   669     "raise a signal proceedable.
   678      The argument, aString is used as messageText.
   670      The argument, aString is used as messageText.
   680      allowing a raise to mimicri the exception happened somewhere else."
   672      allowing a raise to mimicri the exception happened somewhere else."
   681 
   673 
   682     <context: #return>
   674     <context: #return>
   683     <resource: #skipInDebuggersWalkBack>
   675     <resource: #skipInDebuggersWalkBack>
   684 
   676 
   685     ^ (self newException
   677     ^ self basicNew
   686         suspendedContext:aContext parameter:aParameter errorString:aString)
   678         raiseRequestWith:aParameter errorString:aString in:aContext
   687         raiseRequest
   679 
   688 
   680     "Created: / 23-07-1999 / 14:09:07 / stefan"
   689     "Modified: / 26.7.1996 / 16:29:27 / cg"
   681     "Modified: / 10-08-2010 / 09:56:36 / cg"
   690     "Modified: / 12.3.1998 / 15:18:34 / stefan"
       
   691     "Created: / 23.7.1999 / 14:09:07 / stefan"
       
   692 !
   682 !
   693 
   683 
   694 raiseRequestWith:aParameter in:aContext
   684 raiseRequestWith:aParameter in:aContext
   695     "raise a signal proceedable.
   685     "raise a signal proceedable.
   696      The additional context is passed as the context responsible for the raise,
   686      The additional context is passed as the context responsible for the raise,
   697      allowing a raise to mimicri the exception happened somewhere else."
   687      allowing a raise to mimicri the exception happened somewhere else."
   698 
   688 
   699     <context: #return>
   689     <context: #return>
   700     <resource: #skipInDebuggersWalkBack>
   690     <resource: #skipInDebuggersWalkBack>
   701 
   691 
   702     ^ (self newException
   692     ^ self basicNew
   703         suspendedContext:aContext parameter:aParameter)
   693         raiseRequestWith:aParameter in:aContext
   704         raiseRequest
   694 
       
   695     "Modified: / 10-08-2010 / 09:56:12 / cg"
   705 !
   696 !
   706 
   697 
   707 raiseSignal
   698 raiseSignal
   708     "raise a signal (proceedable or not, whatever the proceedability is).
   699     "raise a signal (proceedable or not, whatever the proceedability is).
   709      The signals notifierString is used as messageText."
   700      The signals notifierString is used as messageText."
   788      The argument, aParameter is passed as parameter."
   779      The argument, aParameter is passed as parameter."
   789 
   780 
   790     <context: #return>
   781     <context: #return>
   791     <resource: #skipInDebuggersWalkBack>
   782     <resource: #skipInDebuggersWalkBack>
   792 
   783 
   793     ^ (self newException
   784     ^ self basicNew
   794         suspendedContext:thisContext sender parameter:aParameter)
   785         raiseWith:aParameter in:thisContext sender
   795         raise.
   786 
   796 
   787     "Created: / 23-07-1999 / 14:09:27 / stefan"
   797     "Modified: / 9.5.1996 / 15:14:24 / cg"
   788     "Modified: / 10-08-2010 / 09:51:11 / cg"
   798     "Modified: / 12.3.1998 / 15:19:11 / stefan"
       
   799     "Created: / 23.7.1999 / 14:09:27 / stefan"
       
   800 !
   789 !
   801 
   790 
   802 raiseWith:aParameter errorString:aString
   791 raiseWith:aParameter errorString:aString
   803     "raise a signal nonproceedable.
   792     "raise a signal nonproceedable.
   804      The argument, aString is used as messageText,
   793      The argument, aString is used as messageText,
   805      aParameter is passed as exception parameter."
   794      aParameter is passed as exception parameter."
   806 
   795 
   807     <context: #return>
   796     <context: #return>
   808     <resource: #skipInDebuggersWalkBack>
   797     <resource: #skipInDebuggersWalkBack>
   809 
   798 
   810     ^ (self newException
   799     ^ self basicNew
   811         suspendedContext:thisContext sender parameter:aParameter errorString:aString)
   800           raiseWith:aParameter errorString:aString in:thisContext sender.
   812         raise.
   801 
   813 
   802     "Created: / 23-07-1999 / 14:09:36 / stefan"
   814     "Modified: / 9.5.1996 / 15:14:32 / cg"
   803     "Modified: / 10-08-2010 / 09:52:59 / cg"
   815     "Modified: / 12.3.1998 / 15:19:40 / stefan"
       
   816     "Created: / 23.7.1999 / 14:09:36 / stefan"
       
   817 !
   804 !
   818 
   805 
   819 raiseWith:aParameter errorString:aString in:aContext
   806 raiseWith:aParameter errorString:aString in:aContext
   820     "raise a signal nonproceedable.
   807     "raise a signal nonproceedable.
   821      The argument, aString is used as messageText, aParameter is passed
   808      The argument, aString is used as messageText, aParameter is passed
   824      allowing a raise to mimicri the exception happened somewhere else."
   811      allowing a raise to mimicri the exception happened somewhere else."
   825 
   812 
   826     <context: #return>
   813     <context: #return>
   827     <resource: #skipInDebuggersWalkBack>
   814     <resource: #skipInDebuggersWalkBack>
   828 
   815 
   829     ^ (self newException
   816     ^ self basicNew
   830           suspendedContext:aContext parameter:aParameter errorString:aString)
   817           raiseWith:aParameter errorString:aString in:aContext.
   831           raise.
   818 
   832 
   819     "Created: / 23-07-1999 / 14:09:46 / stefan"
   833     "Modified: / 26.7.1996 / 16:29:42 / cg"
   820     "Modified: / 10-08-2010 / 09:52:10 / cg"
   834     "Modified: / 12.3.1998 / 15:20:12 / stefan"
       
   835     "Created: / 23.7.1999 / 14:09:46 / stefan"
       
   836 !
   821 !
   837 
   822 
   838 raiseWith:aParameter in:aContext
   823 raiseWith:aParameter in:aContext
   839     "raise a signal nonproceedable.
   824     "raise a signal nonproceedable.
   840      The argument, aParameter is passed as exception parameter.
   825      The argument, aParameter is passed as exception parameter.
   842      allowing a raise to mimicri the exception happened somewhere else."
   827      allowing a raise to mimicri the exception happened somewhere else."
   843 
   828 
   844     <context: #return>
   829     <context: #return>
   845     <resource: #skipInDebuggersWalkBack>
   830     <resource: #skipInDebuggersWalkBack>
   846 
   831 
   847     ^ (self newException
   832     ^ self basicNew
   848           suspendedContext:aContext parameter:aParameter)
   833         raiseWith:aParameter in:aContext
   849           raise.
   834 
       
   835     "Modified: / 10-08-2010 / 09:52:38 / cg"
   850 !
   836 !
   851 
   837 
   852 signalWith:messageText
   838 signalWith:messageText
   853     "ANSI compatibility"
   839     "ANSI compatibility"
   854 
   840 
  1169 
  1155 
  1170     "/ ignored
  1156     "/ ignored
  1171 !
  1157 !
  1172 
  1158 
  1173 creator
  1159 creator
  1174     "return the creator of the exception"
  1160     "return the creator of the exception;
  1175 
  1161      same as signal, for compatibility"
  1176     ^ signal
  1162 
       
  1163     ^ signal ? self class
       
  1164 
       
  1165     "Modified: / 10-08-2010 / 09:23:18 / cg"
  1177 !
  1166 !
  1178 
  1167 
  1179 errorString
  1168 errorString
  1180     "return the errorString passsed with the signal raise
  1169     "return the errorString passsed with the signal raise
  1181      (or nil, if there was none).
  1170      (or nil, if there was none).
  1356 !
  1345 !
  1357 
  1346 
  1358 signal
  1347 signal
  1359     "return the signal, that caused the exception"
  1348     "return the signal, that caused the exception"
  1360 
  1349 
  1361     ^ signal
  1350     ^ signal ? self class
  1362 !
  1351 
  1363 
  1352     "Modified: / 10-08-2010 / 09:22:33 / cg"
  1364 signal:aSignal
       
  1365     "set the signal, that caused the exception"
       
  1366 
       
  1367     signal := aSignal
       
  1368 
       
  1369     "Created: / 5.3.1998 / 16:02:46 / stefan"
       
  1370 !
  1353 !
  1371 
  1354 
  1372 suspendedContext
  1355 suspendedContext
  1373     "return the context in which the raise occured"
  1356     "return the context in which the raise occured"
  1374 
  1357 
  1443      the execution where the exception occured.
  1426      the execution where the exception occured.
  1444 
  1427 
  1445      Subclasses may redefine this."
  1428      Subclasses may redefine this."
  1446 
  1429 
  1447     proceedable notNil ifTrue:[^ proceedable].
  1430     proceedable notNil ifTrue:[^ proceedable].
  1448     ^ signal mayProceed.
  1431     signal notNil ifTrue:[^ signal mayProceed].
  1449 
  1432     ^ self class mayProceed.
  1450     "Created: / 23.7.1999 / 14:48:26 / stefan"
  1433 
       
  1434     "Created: / 23-07-1999 / 14:48:26 / stefan"
       
  1435     "Modified: / 10-08-2010 / 09:39:15 / cg"
  1451 !
  1436 !
  1452 
  1437 
  1453 noHandler
  1438 noHandler
  1454     "raise the NoHandlerError.
  1439     "raise the NoHandlerError.
  1455      NohandlerError redefines this method to avoid recursive invocations"
  1440      NohandlerError redefines this method to avoid recursive invocations"
  1846     aStream nextPutAll:self description
  1831     aStream nextPutAll:self description
  1847 ! !
  1832 ! !
  1848 
  1833 
  1849 !GenericException methodsFor:'private'!
  1834 !GenericException methodsFor:'private'!
  1850 
  1835 
       
  1836 checkProceedable
       
  1837     "helper for all raiseRequest methods"
       
  1838 
       
  1839     self mayProceed ifFalse:[
       
  1840         StrictRaising ifTrue:[
       
  1841             "/ proceeding from wrongProceedabilitySignal grants the raiseRequest
       
  1842             WrongProceedabilityError raiseRequestWith:signal
       
  1843         ] ifFalse:[
       
  1844             self class name infoPrint.
       
  1845             ' [warning]: raised with wrong proceedability' infoPrintCR.
       
  1846         ]
       
  1847     ].
       
  1848 
       
  1849     "Created: / 10-08-2010 / 09:54:41 / cg"
       
  1850 !
       
  1851 
  1851 doCallAction
  1852 doCallAction
  1852     "call the action proper
  1853     "call the action proper
  1853      - needed an extra method to have a raise-marked context around
  1854      - needed an extra method to have a raise-marked context around
  1854        ( see implementation of #reject and #proceed)."
  1855        ( see implementation of #reject and #proceed)."
  1855 
  1856 
  1901      instanceVariable to record the originator setting"
  1902      instanceVariable to record the originator setting"
  1902 
  1903 
  1903     originator isNil ifTrue:[
  1904     originator isNil ifTrue:[
  1904         originator := suspendedContext homeReceiver
  1905         originator := suspendedContext homeReceiver
  1905     ].
  1906     ].
  1906 
  1907     signal isNil ifTrue:[
  1907     signal isExceptionCreator ifFalse:[
  1908         signal := self class
  1908         "not an exception or Signal - there is something wrong here..."
  1909     ] ifFalse:[
  1909         GenericException raiseWith:signal errorString:'unexpected non-ExceptionCreator in calling context'.
  1910         signal isExceptionCreator ifFalse:[
       
  1911             "not an exception or Signal - there is something wrong here..."
       
  1912             Error "GenericException" raiseWith:signal errorString:'unexpected non-ExceptionCreator in calling context'.
       
  1913         ]
  1910     ].
  1914     ].
  1911 
  1915 
  1912     "now, start searching for a handler.
  1916     "now, start searching for a handler.
  1913      Start search above the last active handler.
  1917      Start search above the last active handler.
  1914      Skip raise contexts.
  1918      Skip raise contexts.
  1974      we arrive here, if either no handler was found,
  1978      we arrive here, if either no handler was found,
  1975      or every handler rejected.
  1979      or every handler rejected.
  1976     "
  1980     "
  1977     ^ self doCallAction
  1981     ^ self doCallAction
  1978 
  1982 
  1979     "Created: / 12.5.1996 / 15:09:39 / cg"
  1983     "Created: / 12-05-1996 / 15:09:39 / cg"
  1980     "Modified: / 9.11.1997 / 14:48:44 / cg"
  1984     "Modified: / 03-08-1999 / 11:20:41 / stefan"
  1981     "Modified: / 3.8.1999 / 11:20:41 / stefan"
  1985     "Modified: / 10-08-2010 / 09:26:14 / cg"
  1982 ! !
  1986 ! !
  1983 
  1987 
  1984 !GenericException methodsFor:'raising'!
  1988 !GenericException methodsFor:'raising'!
  1985 
  1989 
  1986 raise
  1990 raise
  1998 
  2002 
  1999     "Modified: / 12.5.1996 / 15:09:47 / cg"
  2003     "Modified: / 12.5.1996 / 15:09:47 / cg"
  2000     "Modified: / 3.8.1999 / 13:33:01 / stefan"
  2004     "Modified: / 3.8.1999 / 13:33:01 / stefan"
  2001 !
  2005 !
  2002 
  2006 
       
  2007 raiseErrorString:aString in:aContext
       
  2008     "raise the signal nonproceedable.
       
  2009      The argument, aString is used as messageText"
       
  2010 
       
  2011     <context: #return>
       
  2012 
       
  2013     raiseContext := thisContext.
       
  2014     suspendedContext := aContext.
       
  2015     messageText := aString.
       
  2016     proceedable := false.
       
  2017 
       
  2018     ^ self doRaise
       
  2019 
       
  2020     "Created: / 10-08-2010 / 09:33:43 / cg"
       
  2021 !
       
  2022 
       
  2023 raiseIn:aContext
       
  2024     "actually raise a non-proceedable exception"
       
  2025 
       
  2026     <context: #return>
       
  2027 
       
  2028     raiseContext := thisContext.
       
  2029     suspendedContext := aContext.
       
  2030     proceedable := false.
       
  2031 
       
  2032     ^ self doRaise
       
  2033 
       
  2034     "Modified: / 03-08-1999 / 13:33:01 / stefan"
       
  2035     "Created: / 10-08-2010 / 09:30:19 / cg"
       
  2036 !
       
  2037 
  2003 raiseRequest
  2038 raiseRequest
  2004     "actually raise a proceedable exception."
  2039     "actually raise a proceedable exception."
  2005 
  2040 
  2006     <context: #return>
  2041     <context: #return>
  2007 
  2042 
  2008     raiseContext := thisContext.
  2043     raiseContext := thisContext.
  2009     suspendedContext isNil ifTrue:[
  2044     suspendedContext isNil ifTrue:[
  2010         suspendedContext := raiseContext sender
  2045         suspendedContext := raiseContext sender
  2011     ].
  2046     ].
  2012 
  2047 
  2013     self mayProceed ifFalse:[
  2048     self checkProceedable.
  2014         StrictRaising ifTrue:[
       
  2015             "/ proceeding from wrongProceedabilitySignal grants the raiseRequest
       
  2016             WrongProceedabilityError raiseRequestWith:signal
       
  2017         ] ifFalse:[
       
  2018             self class name infoPrint.
       
  2019             ' [warning]: raised with wrong proceedability' infoPrintCR.
       
  2020         ]
       
  2021     ].
       
  2022 
  2049 
  2023     proceedable := true.
  2050     proceedable := true.
  2024     ^ self doRaise
  2051     ^ self doRaise
  2025 
  2052 
  2026     "Modified: / 04-08-1999 / 08:05:12 / stefan"
  2053     "Modified: / 04-08-1999 / 08:05:12 / stefan"
  2027     "Modified: / 10-07-2010 / 19:48:42 / cg"
  2054     "Modified: / 10-08-2010 / 09:55:00 / cg"
       
  2055 !
       
  2056 
       
  2057 raiseRequestErrorString:errorString in:aContext
       
  2058     "actually raise a proceedable exception."
       
  2059 
       
  2060     <context: #return>
       
  2061 
       
  2062     raiseContext := thisContext.
       
  2063     suspendedContext := aContext.
       
  2064     messageText := errorString.
       
  2065 
       
  2066     self checkProceedable.
       
  2067 
       
  2068     proceedable := true.
       
  2069     ^ self doRaise
       
  2070 
       
  2071     "Modified: / 04-08-1999 / 08:05:12 / stefan"
       
  2072     "Created: / 10-08-2010 / 09:40:05 / cg"
       
  2073 !
       
  2074 
       
  2075 raiseRequestIn:aContext
       
  2076     "actually raise a proceedable exception."
       
  2077 
       
  2078     <context: #return>
       
  2079 
       
  2080     raiseContext := thisContext.
       
  2081     suspendedContext := aContext.
       
  2082 
       
  2083     self checkProceedable.
       
  2084 
       
  2085     proceedable := true.
       
  2086     ^ self doRaise
       
  2087 
       
  2088     "Modified: / 04-08-1999 / 08:05:12 / stefan"
       
  2089     "Created: / 10-08-2010 / 09:36:45 / cg"
  2028 !
  2090 !
  2029 
  2091 
  2030 raiseRequestWith:aParameter errorString:aString
  2092 raiseRequestWith:aParameter errorString:aString
  2031     "raise the signal proceedable.
  2093     "raise the signal proceedable.
  2032      The argument, aString is used as messageText,
  2094      The argument, aString is used as messageText,
  2038         suspendedContext:thisContext sender parameter:aParameter errorString:aString)
  2100         suspendedContext:thisContext sender parameter:aParameter errorString:aString)
  2039         raiseRequest.
  2101         raiseRequest.
  2040     "Created: / 23.7.1999 / 14:08:57 / stefan"
  2102     "Created: / 23.7.1999 / 14:08:57 / stefan"
  2041 !
  2103 !
  2042 
  2104 
       
  2105 raiseRequestWith:aParameter errorString:aString in:aContext
       
  2106     "actually raise a proceedable exception."
       
  2107 
       
  2108     <context: #return>
       
  2109 
       
  2110     raiseContext := thisContext.
       
  2111     suspendedContext := aContext.
       
  2112     parameter := aParameter.
       
  2113     messageText := aString.
       
  2114 
       
  2115     self checkProceedable.
       
  2116 
       
  2117     proceedable := true.
       
  2118     ^ self doRaise
       
  2119 
       
  2120     "Modified: / 04-08-1999 / 08:05:12 / stefan"
       
  2121     "Created: / 10-08-2010 / 09:55:48 / cg"
       
  2122 !
       
  2123 
       
  2124 raiseRequestWith:aParameter in:aContext
       
  2125     "actually raise a proceedable exception."
       
  2126 
       
  2127     <context: #return>
       
  2128 
       
  2129     raiseContext := thisContext.
       
  2130     suspendedContext := aContext.
       
  2131     parameter := aParameter.
       
  2132 
       
  2133     self checkProceedable.
       
  2134 
       
  2135     proceedable := true.
       
  2136     ^ self doRaise
       
  2137 
       
  2138     "Modified: / 04-08-1999 / 08:05:12 / stefan"
       
  2139     "Created: / 10-08-2010 / 09:53:51 / cg"
       
  2140 !
       
  2141 
  2043 raiseSignal
  2142 raiseSignal
  2044     "actually raise an exception (whatever the proceedability is)."
  2143     "actually raise an exception (whatever the proceedability is)."
  2045 
  2144 
  2046     <context: #return>
  2145     <context: #return>
  2047 
  2146 
  2061     <context: #return>
  2160     <context: #return>
  2062 
  2161 
  2063     ^ (self 
  2162     ^ (self 
  2064         suspendedContext:thisContext sender parameter:aParameter errorString:aString)
  2163         suspendedContext:thisContext sender parameter:aParameter errorString:aString)
  2065         raise.
  2164         raise.
       
  2165 !
       
  2166 
       
  2167 raiseWith:aParameter errorString:aString in:aContext
       
  2168     "raise the signal nonproceedable.
       
  2169      The argument, aString is used as messageText"
       
  2170 
       
  2171     <context: #return>
       
  2172 
       
  2173     raiseContext := thisContext.
       
  2174     suspendedContext := aContext.
       
  2175     messageText := aString.
       
  2176     parameter := aParameter.
       
  2177     proceedable := false.
       
  2178 
       
  2179     ^ self doRaise
       
  2180 
       
  2181     "Created: / 10-08-2010 / 09:51:51 / cg"
       
  2182 !
       
  2183 
       
  2184 raiseWith:aParameter in:aContext
       
  2185     "raise the signal nonproceedable.
       
  2186      The argument, aString is used as messageText"
       
  2187 
       
  2188     <context: #return>
       
  2189 
       
  2190     raiseContext := thisContext.
       
  2191     suspendedContext := aContext.
       
  2192     parameter := aParameter.
       
  2193     proceedable := false.
       
  2194 
       
  2195     ^ self doRaise
       
  2196 
       
  2197     "Created: / 10-08-2010 / 09:50:54 / cg"
  2066 ! !
  2198 ! !
  2067 
  2199 
  2068 !GenericException methodsFor:'setup'!
  2200 !GenericException methodsFor:'setup'!
  2069 
  2201 
  2070 setSignal:aSignal
  2202 setSignal:aSignal
  2130 ! !
  2262 ! !
  2131 
  2263 
  2132 !GenericException class methodsFor:'documentation'!
  2264 !GenericException class methodsFor:'documentation'!
  2133 
  2265 
  2134 version
  2266 version
  2135     ^ '$Header: /cvs/stx/stx/libbasic/GenericException.st,v 1.125 2010-07-10 17:49:23 cg Exp $'
  2267     ^ '$Header: /cvs/stx/stx/libbasic/GenericException.st,v 1.126 2010-08-10 08:34:53 cg Exp $'
  2136 !
  2268 !
  2137 
  2269 
  2138 version_CVS
  2270 version_CVS
  2139     ^ '$Header: /cvs/stx/stx/libbasic/GenericException.st,v 1.125 2010-07-10 17:49:23 cg Exp $'
  2271     ^ '$Header: /cvs/stx/stx/libbasic/GenericException.st,v 1.126 2010-08-10 08:34:53 cg Exp $'
  2140 ! !
  2272 ! !
  2141 
  2273 
  2142 GenericException initialize!
  2274 GenericException initialize!