Исключение: ErrorDuringExecution Приватный
- Наследует:
- RuntimeError
- Object
- RuntimeError
- ErrorDuringExecution
- Определено в:
- exceptions.rb
Обзор
Этот класс является частью приватного API. Этот класс можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам не следует использовать этот класс, поскольку он может быть удалён или изменён без предупреждения.
Возбуждается методом Kernel#safe_system в utils.rb.
Краткое описание атрибутов экземпляра свернуть
- #cmd ⇒ Array<Pathname, String, Array<String>, Hash{String => String, nil}, nil> только чтение приватный
- #exitstatus ⇒ Integer? только чтение приватный
- #output ⇒ Array<Array<([String, Symbol], String)>>? только чтение приватный
- #status ⇒ Integer, ... только чтение приватный
- #termsig ⇒ Integer? только чтение приватный
Краткое описание методов экземпляра свернуть
- #initialize(cmd, status:, output: nil, secrets: []) ⇒ void конструктор приватный
- #stderr ⇒ String приватный
Подробное описание конструкторов
#initialize(cmd, status:, output: nil, secrets: []) ⇒ void
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.
849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 | # File 'exceptions.rb', line 849 def initialize(cmd, status:, output: nil, secrets: []) @cmd = cmd @status = status @output = output @exitstatus = T.let( case status when Integer status when Hash status["exitstatus"] else status.exitstatus end, T.nilable(Integer), ) @termsig = T.let( case status when Integer nil when Hash status["termsig"] else status.termsig end, T.nilable(Integer), ) redacted_cmd = Formatter.redact_secrets(cmd.shelljoin.gsub('\=', "="), secrets) reason = if exitstatus "exited with #{exitstatus}" elsif (t = termsig) "was terminated by uncaught signal #{Signal.signame(t)}" else raise ArgumentError, "Status neither has `exitstatus` nor `termsig`." end s = "Failure while executing; `#{redacted_cmd}` #{reason}." if Array(output).present? format_output_line = lambda do |type_line| type, line = *type_line if type == :stderr Formatter.error(line) else line end end s << " Here's the output:\n" s << Array(output).map(&format_output_line).join s << "\n" unless s.end_with?("\n") end super s.freeze end |
Подробное описание атрибутов экземпляра
#cmd ⇒ Array<Pathname, String, Array<String>, Hash{String => String, nil}, nil> (только чтение)
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.
827 828 829 | # File 'exceptions.rb', line 827 def cmd @cmd end |
#exitstatus ⇒ Integer? (только чтение)
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.
830 831 832 | # File 'exceptions.rb', line 830 def exitstatus @exitstatus end |
#output ⇒ Array<Array<([String, Symbol], String)>>? (только чтение)
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.
839 840 841 | # File 'exceptions.rb', line 839 def output @output end |
#status ⇒ Integer, ... (только чтение)
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.
833 834 835 | # File 'exceptions.rb', line 833 def status @status end |
#termsig ⇒ Integer? (только чтение)
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.
836 837 838 | # File 'exceptions.rb', line 836 def termsig @termsig end |
Подробное описание методов экземпляра
#stderr ⇒ String
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.
909 910 911 | # File 'exceptions.rb', line 909 def stderr Array(output).select { |type,| type == :stderr }.map(&:last).join end |
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/ErrorDuringExecution.html