WebDriver/src/WebDriver/WDException.class.st

56 lines
1.3 KiB
Smalltalk

"
I am the parent class of all WebDriver exceptions.
"
Class {
#name : #WDException,
#superclass : #Exception,
#instVars : [
'stacktrace',
'data'
],
#category : #WebDriver
}
{ #category : #'as yet unclassified' }
WDException class >> raise: errDict [
"Initializes and populates the appropriate exception class."
| error message stacktrace data |
error := errDict at: #error.
message := errDict at: #message.
stacktrace := errDict at: #stacktrace.
data := errDict at: #data ifAbsent: nil.
(error = 'element click intercepted')
ifTrue: [ ^ WDElementClickIntercepted new data: data; stacktrace: stacktrace; signal: message ].
(error = 'element not interactable')
ifTrue: [ ^ WDElementNotInteractable new data: data; stacktrace: stacktrace; signal: message ].
(error = 'insecure certificate')
ifTrue: [ ^ WDInsecureCertificate new data: data; stacktrace: stacktrace; signal: message ].
(error = 'invalid selector')
ifTrue: [ ^ WDInvalidSelector 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
]