WebDriver/src/WebDriver/WDException.class.st

62 lines
1.2 KiB
Smalltalk

"
I am the parent class of all WebDriver exceptions.
"
Class {
#name : #WDException,
#superclass : #Exception,
#instVars : [
'stacktrace',
'data'
],
#category : #'WebDriver-Exception'
}
{ #category : #testing }
WDException class >> matchesErrorCode: errCode [
^ self subclassResponsibility.
]
{ #category : #signaling }
WDException class >> raise: errDict [
"Initializes and populates the appropriate exception class."
| errorClass error message stacktrace data |
error := errDict at: #error.
message := errDict at: #message.
stacktrace := errDict at: #stacktrace.
data := errDict at: #data ifAbsent: nil.
errorClass := self subclasses
detect: [ :operationClass |
operationClass matchesErrorCode: error ]
ifNone: [ self ].
^ errorClass new
data: data;
stacktrace: stacktrace;
signal: message
]
{ #category : #accessing }
WDException >> data [
^ data
]
{ #category : #accessing }
WDException >> data: anObject [
data := anObject
]
{ #category : #accessing }
WDException >> stacktrace [
^ stacktrace
]
{ #category : #accessing }
WDException >> stacktrace: anObject [
stacktrace := anObject
]