# File lib/nanoc/cli/error_handler.rb, line 53 def handle_while(&block) # Set exit handler [ 'INT', 'TERM' ].each do |signal| Signal.trap(signal) do puts exit!(0) end end begin Signal.trap('USR1') do puts "Caught USR1; dumping a stack trace" puts caller.map { |i| " #{i}" }.join("\n") end rescue ArgumentError end # Run yield rescue Nanoc::Errors::GenericTrivial => e $stderr.puts "Error: #{e.message}" exit(1) rescue Interrupt => e exit(1) rescue StandardError, ScriptError => e self.print_error(e) exit(1) end