%PDF- %PDF-
Direktori : /opt/plesk/ruby/3.1.3/lib64/ruby/gems/3.1.0/gems/rbs-2.7.0/core/ |
Current File : //opt/plesk/ruby/3.1.3/lib64/ruby/gems/3.1.0/gems/rbs-2.7.0/core/exception.rbs |
# <!-- rdoc-file=error.c --> # Class Exception and its subclasses are used to communicate between # Kernel#raise and `rescue` statements in `begin ... end` blocks. # # An Exception object carries information about an exception: # * Its type (the exception's class). # * An optional descriptive message. # * Optional backtrace information. # # # Some built-in subclasses of Exception have additional methods: e.g., # NameError#name. # # ## Defaults # # Two Ruby statements have default exception classes: # * `raise`: defaults to RuntimeError. # * `rescue`: defaults to StandardError. # # # ## Global Variables # # When an exception has been raised but not yet handled (in `rescue`, `ensure`, # `at_exit` and `END` blocks), two global variables are set: # * `$!` contains the current exception. # * `$@` contains its backtrace. # # # ## Custom Exceptions # # To provide additional or alternate information, a program may create custom # exception classes that derive from the built-in exception classes. # # A good practice is for a library to create a single "generic" exception class # (typically a subclass of StandardError or RuntimeError) and have its other # exception classes derive from that class. This allows the user to rescue the # generic exception, thus catching all exceptions the library may raise even if # future versions of the library add new exception subclasses. # # For example: # # class MyLibrary # class Error < ::StandardError # end # # class WidgetError < Error # end # # class FrobError < Error # end # # end # # To handle both MyLibrary::WidgetError and MyLibrary::FrobError the library # user can rescue MyLibrary::Error. # # ## Built-In Exception Classes # # The built-in subclasses of Exception are: # # * NoMemoryError # * ScriptError # * LoadError # * NotImplementedError # * SyntaxError # # * SecurityError # * SignalException # * Interrupt # # * StandardError # * ArgumentError # * UncaughtThrowError # # * EncodingError # * FiberError # * IOError # * EOFError # # * IndexError # * KeyError # * StopIteration # * ClosedQueueError # # # * LocalJumpError # * NameError # * NoMethodError # # * RangeError # * FloatDomainError # # * RegexpError # * RuntimeError # * FrozenError # # * SystemCallError # * Errno::* # # * ThreadError # * TypeError # * ZeroDivisionError # # * SystemExit # * SystemStackError # * fatal # class Exception < Object # <!-- # rdoc-file=error.c # - Exception.to_tty? -> true or false # --> # Returns `true` if exception messages will be sent to a tty. # def self.to_tty?: () -> bool # <!-- # rdoc-file=error.c # - exc.exception([string]) -> an_exception or exc # --> # With no argument, or if the argument is the same as the receiver, return the # receiver. Otherwise, create a new exception object of the same class as the # receiver, but with a message equal to `string.to_str`. # def self.exception: (?String msg) -> Exception # <!-- # rdoc-file=error.c # - exc == obj -> true or false # --> # Equality---If *obj* is not an Exception, returns `false`. Otherwise, returns # `true` if *exc* and *obj* share same class, messages, and backtrace. # def ==: (untyped arg0) -> bool # <!-- # rdoc-file=error.c # - exception.backtrace -> array or nil # --> # Returns any backtrace associated with the exception. The backtrace is an array # of strings, each containing either ``filename:lineNo: in `method''' or # ``filename:lineNo.'' # # def a # raise "boom" # end # # def b # a() # end # # begin # b() # rescue => detail # print detail.backtrace.join("\n") # end # # *produces:* # # prog.rb:2:in `a' # prog.rb:6:in `b' # prog.rb:10 # # In the case no backtrace has been set, `nil` is returned # # ex = StandardError.new # ex.backtrace # #=> nil # def backtrace: () -> ::Array[String]? # <!-- # rdoc-file=error.c # - exception.backtrace_locations -> array or nil # --> # Returns any backtrace associated with the exception. This method is similar to # Exception#backtrace, but the backtrace is an array of # Thread::Backtrace::Location. # # This method is not affected by Exception#set_backtrace(). # def backtrace_locations: () -> ::Array[Thread::Backtrace::Location]? # <!-- # rdoc-file=error.c # - exception.cause -> an_exception or nil # --> # Returns the previous exception ($!) at the time this exception was raised. # This is useful for wrapping exceptions and retaining the original exception # information. # def cause: () -> Exception? # <!-- # rdoc-file=error.c # - exc.exception([string]) -> an_exception or exc # --> # With no argument, or if the argument is the same as the receiver, return the # receiver. Otherwise, create a new exception object of the same class as the # receiver, but with a message equal to `string.to_str`. # def exception: () -> self | (String arg0) -> Exception # <!-- # rdoc-file=error.c # - Exception.new(msg = nil) -> exception # - Exception.exception(msg = nil) -> exception # --> # Construct a new Exception object, optionally passing in a message. # def initialize: (?String arg0) -> void # <!-- # rdoc-file=error.c # - exception.inspect -> string # --> # Return this exception's class name and message. # def inspect: () -> String # <!-- # rdoc-file=error.c # - exception.message -> string # --> # Returns the result of invoking `exception.to_s`. Normally this returns the # exception's message or name. # def message: () -> String # <!-- # rdoc-file=error.c # - exc.set_backtrace(backtrace) -> array # --> # Sets the backtrace information associated with `exc`. The `backtrace` must be # an array of String objects or a single String in the format described in # Exception#backtrace. # def set_backtrace: (String | ::Array[String] arg0) -> ::Array[String] | (nil) -> nil # <!-- # rdoc-file=error.c # - exception.to_s -> string # --> # Returns exception's message (or the name of the exception if no message is # set). # def to_s: () -> String # <!-- # rdoc-file=error.c # - exception.full_message(highlight: bool, order: [:top or :bottom]) -> string # --> # Returns formatted string of *exception*. The returned string is formatted # using the same format that Ruby uses when printing an uncaught exceptions to # stderr. # # If *highlight* is `true` the default error handler will send the messages to a # tty. # # *order* must be either of `:top` or `:bottom`, and places the error message # and the innermost backtrace come at the top or the bottom. # # The default values of these options depend on `$stderr` and its `tty?` at the # timing of a call. # def full_message: (?highlight: bool, ?order: :top | :bottom) -> String end