ProceedError.st
author Stefan Vogel <sv@exept.de>
Wed, 04 Aug 1999 16:35:58 +0200
changeset 4534 648cf88a45db
parent 4528 5ef0de6abb50
child 4554 db264efac2c0
permissions -rw-r--r--
Add defaultAction
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4528
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     1
Warning subclass:#ProceedError
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     2
	instanceVariableNames:''
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     3
	classVariableNames:''
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     4
	poolDictionaries:''
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     5
	category:'Kernel-Exceptions'
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     6
!
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     7
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     8
!ProceedError class methodsFor:'documentation'!
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     9
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    10
documentation
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    11
"
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    12
    ProceedError is raised to indicate that a handler tried to
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    13
    proceed an exception marked as nonproceedable.
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    14
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    15
    The parameter is the exception which tried to proceed.
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    16
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    17
    NOTE: In the past ST/X didn't distinguish between proceedable
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    18
          and non-proceedable exceptions. To make transistion easier,
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    19
          this exception is a warning for now. In a future release of
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    20
          ST/X, this exception will be changed to be an error 
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    21
          (child of SignalError).
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    22
          Please fix your code.
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    23
"
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    24
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    25
! !
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    26
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    27
!ProceedError class methodsFor:'initialization'!
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    28
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    29
initialize
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    30
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    31
    NotifierString := 'handler tried to proceed from nonproceedable exception'.
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    32
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    33
    "
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    34
     self initialize
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    35
    "
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    36
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    37
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    38
! !
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    39
4534
648cf88a45db Add defaultAction
Stefan Vogel <sv@exept.de>
parents: 4528
diff changeset
    40
!ProceedError methodsFor:'default actions'!
648cf88a45db Add defaultAction
Stefan Vogel <sv@exept.de>
parents: 4528
diff changeset
    41
648cf88a45db Add defaultAction
Stefan Vogel <sv@exept.de>
parents: 4528
diff changeset
    42
defaultAction
648cf88a45db Add defaultAction
Stefan Vogel <sv@exept.de>
parents: 4528
diff changeset
    43
    "make proceeding from a non-proceedable raise a warning for now.
648cf88a45db Add defaultAction
Stefan Vogel <sv@exept.de>
parents: 4528
diff changeset
    44
     This will change in future revisions"
648cf88a45db Add defaultAction
Stefan Vogel <sv@exept.de>
parents: 4528
diff changeset
    45
648cf88a45db Add defaultAction
Stefan Vogel <sv@exept.de>
parents: 4528
diff changeset
    46
    ('WARNING: signal <', parameter signal printString, '> has been raised nonproceedable') errorPrintCR.
648cf88a45db Add defaultAction
Stefan Vogel <sv@exept.de>
parents: 4528
diff changeset
    47
    ('         by: ', parameter suspendedContext printString) errorPrintCR.
648cf88a45db Add defaultAction
Stefan Vogel <sv@exept.de>
parents: 4528
diff changeset
    48
    ('         ', suspendedContext printString , ' tries to proceed.') errorPrintCR.
648cf88a45db Add defaultAction
Stefan Vogel <sv@exept.de>
parents: 4528
diff changeset
    49
    ('         This will be an error in future ST/X versions.') errorPrintCR.
648cf88a45db Add defaultAction
Stefan Vogel <sv@exept.de>
parents: 4528
diff changeset
    50
648cf88a45db Add defaultAction
Stefan Vogel <sv@exept.de>
parents: 4528
diff changeset
    51
    self proceedWith:nil.
648cf88a45db Add defaultAction
Stefan Vogel <sv@exept.de>
parents: 4528
diff changeset
    52
648cf88a45db Add defaultAction
Stefan Vogel <sv@exept.de>
parents: 4528
diff changeset
    53
    "
648cf88a45db Add defaultAction
Stefan Vogel <sv@exept.de>
parents: 4528
diff changeset
    54
      Object errorSignal handle:[:ex|
648cf88a45db Add defaultAction
Stefan Vogel <sv@exept.de>
parents: 4528
diff changeset
    55
         ex proceedWith:nil
648cf88a45db Add defaultAction
Stefan Vogel <sv@exept.de>
parents: 4528
diff changeset
    56
      ] do:[
648cf88a45db Add defaultAction
Stefan Vogel <sv@exept.de>
parents: 4528
diff changeset
    57
         Object errorSignal raise
648cf88a45db Add defaultAction
Stefan Vogel <sv@exept.de>
parents: 4528
diff changeset
    58
      ].
648cf88a45db Add defaultAction
Stefan Vogel <sv@exept.de>
parents: 4528
diff changeset
    59
648cf88a45db Add defaultAction
Stefan Vogel <sv@exept.de>
parents: 4528
diff changeset
    60
      Object errorSignal handle:[:ex|
648cf88a45db Add defaultAction
Stefan Vogel <sv@exept.de>
parents: 4528
diff changeset
    61
         ex proceed
648cf88a45db Add defaultAction
Stefan Vogel <sv@exept.de>
parents: 4528
diff changeset
    62
      ] do:[
648cf88a45db Add defaultAction
Stefan Vogel <sv@exept.de>
parents: 4528
diff changeset
    63
         Object errorSignal raise
648cf88a45db Add defaultAction
Stefan Vogel <sv@exept.de>
parents: 4528
diff changeset
    64
      ].
648cf88a45db Add defaultAction
Stefan Vogel <sv@exept.de>
parents: 4528
diff changeset
    65
   "
648cf88a45db Add defaultAction
Stefan Vogel <sv@exept.de>
parents: 4528
diff changeset
    66
! !
648cf88a45db Add defaultAction
Stefan Vogel <sv@exept.de>
parents: 4528
diff changeset
    67
4528
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    68
!ProceedError class methodsFor:'documentation'!
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    69
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    70
version
4534
648cf88a45db Add defaultAction
Stefan Vogel <sv@exept.de>
parents: 4528
diff changeset
    71
    ^ '$Header: /cvs/stx/stx/libbasic/ProceedError.st,v 1.2 1999-08-04 14:35:58 stefan Exp $'
4528
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    72
! !
5ef0de6abb50 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    73
ProceedError initialize!