Sha256: f9e07fc58527dd59c5e2b425941a3978e2b5a2e637cb75564a999b5a2818c0c8

Contents?: true

Size: 1.99 KB

Versions: 11

Compression:

Stored size: 1.99 KB

Contents

Smalltalk current createPackage: 'Kernel-Exceptions' properties: #{}!
Object subclass: #Error
	instanceVariableNames: 'messageText'
	category: 'Kernel-Exceptions'!

!Error methodsFor: 'accessing'!

messageText
	^messageText
!

messageText: aString
	messageText := aString
!

context
	<return self.context>
!

jsStack
	<return self.stack>
! !

!Error methodsFor: 'signaling'!

signal
	<self.context = smalltalk.getThisContext(); self.smalltalkError = true; throw(self)>
! !

!Error methodsFor: 'testing'!

isSmalltalkError
	<return self.smalltalkError === true>
! !

!Error class methodsFor: 'instance creation'!

signal: aString
	    ^self new
		messageText: aString;
		signal
! !

Error subclass: #MessageNotUnderstood
	instanceVariableNames: 'message receiver'
	category: 'Kernel-Exceptions'!

!MessageNotUnderstood methodsFor: 'accessing'!

message
	^message
!

message: aMessage
	message := aMessage
!

receiver
	^receiver
!

receiver: anObject
	receiver := anObject
!

messageText
	^self receiver asString, ' does not understand #', self message selector
! !

Object subclass: #ErrorHandler
	instanceVariableNames: ''
	category: 'Kernel-Exceptions'!

!ErrorHandler methodsFor: 'error handling'!

handleError: anError
	anError context ifNotNil: [self logErrorContext: anError context].
	self logError: anError
! !

!ErrorHandler methodsFor: 'private'!

logContext: aContext
	aContext home ifNotNil: [
		self logContext: aContext home].
	self log: aContext receiver asString, '>>', aContext selector
!

logErrorContext: aContext
	aContext ifNotNil: [
		aContext home ifNotNil: [
			self logContext: aContext home]]
!

logError: anError
	self log: anError messageText
!

log: aString
	console log: aString
! !

ErrorHandler class instanceVariableNames: 'current'!

!ErrorHandler class methodsFor: 'accessing'!

current
	^current ifNil: [current := self new]
!

setCurrent: anHandler
	current := anHandler
! !

!ErrorHandler class methodsFor: 'initialization'!

initialize
	self register
!

register
	ErrorHandler setCurrent: self new
! !

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
resin-0.2.1 amber/st/Kernel-Exceptions.st
resin-0.2.0 amber/st/Kernel-Exceptions.st
resin-0.1.0 amber/st/Kernel-Exceptions.st
resin-0.0.8 amber/st/Kernel-Exceptions.st
resin-0.0.7 amber/st/Kernel-Exceptions.st
resin-0.0.6 amber/st/Kernel-Exceptions.st
resin-0.0.5 amber/st/Kernel-Exceptions.st
resin-0.0.4 amber/st/Kernel-Exceptions.st
resin-0.0.3 amber/st/Kernel-Exceptions.st
resin-0.0.2 amber/st/Kernel-Exceptions.st
resin-0.0.1 amber/st/Kernel-Exceptions.st