D
Daniel Berger
Hi all,
I have a program where I want to send all errors to a file. So, I did this:
class Exception
alias ld_init :initialize
def initialize(arg)
old_init(arg)
File.open("log.txt","a+"){ |fh| fh.puts("Error: #{arg}") }
end
end
This works for most errors, but it doesn't seem to work when the error
is a SystemCallError.
For example, this writes to the log as expected:
print "Some crazy division: "
p 1/0
But this does not:
File.open("non-existant file")
The latter raises an Errno::ENOENT.
Why, if SystemCallError is a subclass of Exception, does my approach not
work? How do I make this work as expected?
Regards,
Dan
I have a program where I want to send all errors to a file. So, I did this:
class Exception
alias ld_init :initialize
def initialize(arg)
old_init(arg)
File.open("log.txt","a+"){ |fh| fh.puts("Error: #{arg}") }
end
end
This works for most errors, but it doesn't seem to work when the error
is a SystemCallError.
For example, this writes to the log as expected:
print "Some crazy division: "
p 1/0
But this does not:
File.open("non-existant file")
The latter raises an Errno::ENOENT.
Why, if SystemCallError is a subclass of Exception, does my approach not
work? How do I make this work as expected?
Regards,
Dan