'From Squeak5.3alpha of 11 November 2019 [latest update: #19148] on 11 November 2019 at 10:23 pm'!
UnhandledError subclass: #UnhandledHalt
	instanceVariableNames: ''
	classVariableNames: ''
	poolDictionaries: ''
	category: 'Kernel-Exceptions'!

!Halt methodsFor: 'priv handling' stamp: 'ct 11/11/2019 22:15'!
defaultAction
	"No one has handled this error, but now give them a chance to decide how to debug it.  If none handle this either then open debugger (see UnhandedError-defaultAction)"

	UnhandledHalt signalForException: self! !


!StandardToolSet class methodsFor: 'debugging - handlers' stamp: 'ct 11/11/2019 22:19'!
handleError: anError

	^ self handleHalt: anError! !

!StandardToolSet class methodsFor: 'debugging - handlers' stamp: 'ct 11/11/2019 22:19'!
handleHalt: anException
	"Double dispatch. Let the active process take care of that exception, which usually calls back here to #debugProcess:..."

	^ Processor activeProcess
		debug: anException signalerContext
		title: anException description! !


!CommandLineToolSet class methodsFor: 'debugging - handlers' stamp: 'ct 11/11/2019 22:15'!
handleHalt: aHalt

	aHalt printVerboseOn: FileStream stderr.
	FileStream stderr flush.! !

!CommandLineToolSet class methodsFor: 'debugging - handlers' stamp: 'ct 11/11/2019 22:22'!
handleWarning: aWarning

	^ self handleHalt: aWarning! !


!ToolSet class methodsFor: 'debugging - handlers' stamp: 'ct 11/11/2019 22:16'!
handleHalt: aHalt

	^ self default
		ifNotNil: [:ts | ts handleHalt: aHalt]! !


!UnhandledHalt methodsFor: 'priv handling' stamp: 'ct 11/11/2019 22:14'!
defaultAction

	^ (Smalltalk classNamed: #ToolSet)
		ifNotNil: [:ts | ts handleHalt: self exception]
		ifNil: ["Ignore like a Notification." nil]! !


!UnhandledHalt reorganize!
('priv handling' defaultAction)
!

