class Win32::Registry::Error - Documentation for Ruby 3.2

# class Win32::Registry::Error

`Error`

### Constants

FormatMessageW

### Attributes

code[R]

### Public Class Methods

new(code) click to toggle source
Calls superclass method `Exception::new`

    # File ext/win32/lib/win32/registry.rb, line 180
    def initialize(code)
      @code = code
      buff = WCHAR_NUL * 1024
      lang = 0
      begin
        len = FormatMessageW.call(0x1200, 0, code, lang, buff, 1024, 0)
        msg = buff.byteslice(0, len * WCHAR_SIZE)
        msg.delete!(WCHAR_CR)
        msg.chomp!
        msg.encode!(LOCALE)
      rescue EncodingError
        raise unless lang == 0
        lang = 0x0409         # en_US
        retry
      end
      super msg
    end