File: Exceptions4.rb

package info (click to toggle)
dlr-languages 20090805%2Bgit.e6b28d27%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 51,484 kB
  • ctags: 59,257
  • sloc: cs: 298,829; ruby: 159,643; xml: 19,872; python: 2,820; yacc: 1,960; makefile: 96; sh: 65
file content (26 lines) | stat: -rw-r--r-- 427 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
$var = 123

alias $true_bang $!
alias $! $var

begin
  raise IOError.new
rescue
  puts 'rescue'  
  p $true_bang
  p $!
ensure
  # oldEx = GetCurrentException - nil here
  puts 'ensure'
  p $true_bang
  p $!

  $true_bang = Exception.new "1"
  $! = Exception.new "2"

  # SetCurrentException(oldEx) - restores nil
end

puts 'end'
p $true_bang              # restored by ensure
p $!                      # not restored by ensure