class Playwright::Error

def self.parse(error_payload)

ref: https://github.com/microsoft/playwright-python/blob/0b4a980fed366c4c1dee9bfcdd72662d629fdc8d/playwright/_impl/_helper.py#L155
def self.parse(error_payload)
  if error_payload['name'] == 'TimeoutError'
    TimeoutError.new(
      message: error_payload['message'],
      stack: error_payload['stack'],
    )
  elsif error_payload['name'] == 'TargetClosedError'
    TargetClosedError.new(
      message: error_payload['message'],
      stack: error_payload['stack'],
    )
  else
    new(
      name: error_payload['name'],
      message: error_payload['message'],
      stack: error_payload['stack'],
    )
  end
end

def initialize(message:, name: nil, stack: nil)

Parameters:
  • stack (Array) --
  • message (String) --
  • name (String) --
def initialize(message:, name: nil, stack: nil)
  super(message)
  @name = name
  @message = message
  @stack = stack
end

def log=(log)

def log=(log)
  return unless log
  format_call_log = log.join("\n  - ")
  @message = "#{@message}\nCall log:\n#{format_call_log}\n"
end