# How to do group Exception classes?

**URL:** <https://www.ruby-forum.com/t/how-to-do-group-exception-classes/143822>\
**Category:** Ruby\
**Created:** [July 23, 2008, 2:38am UTC](https://www.ruby-forum.com/t/how-to-do-group-exception-classes/143822 "2008-07-23T02:38:10Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![ISSSSaki\_Baz\_C](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/51bf81/32.png) [@ISSSSaki\_Baz\_C](https://www.ruby-forum.com/u/ISSSSaki_Baz_C)\
**Post date:** [July 23, 2008, 2:38am UTC](https://www.ruby-forum.com/t/how-to-do-group-exception-classes/143822/1 "2008-07-23T02:38:10Z")

</div>

Hi, I’ve some exception that I want to group into “AuthError” class so I  
can  
do a “raise” for the specific child exception or for the parent class.  
Is the  
following correct?

* * *

module Auth

class GenericError \< StandardError  
end

class WrongPassword \< GenericError  
end

class ExpiredAccount \< GenericError  
end

## end

so now I can do:

* * *

begin  
raise Auth::WrongPassword  
rescue Auth::GenericError =\> e  
puts “Exception class rescued: #{e.class}”  
end

## =\> Exception class rescued: Auth::WrongPassword

This is: I didn’t do a “rescue” for Auth::WrongPassword, but for  
Auth::GenericError.  
But since Auth::WrongPassword is a child of Auth::GenericError then the  
rescue  
is executed and “e” is Auth::WrongPassword.

Do you suggest a better way of doing it? Thanks a lot for any  
suggestion.

---

<div class="post-metadata">

**Author:** ![ISSSSaki\_Baz\_C](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/51bf81/32.png) [@ISSSSaki\_Baz\_C](https://www.ruby-forum.com/u/ISSSSaki_Baz_C)\
**Post date:** [July 23, 2008, 2:59am UTC](https://www.ruby-forum.com/t/how-to-do-group-exception-classes/143822/2 "2008-07-23T02:59:13Z")

</div>

Hi Folks,

I am attempting to search a file for a specific string, and upon  
locating said string, replace the line containing the string with a  
new string. No amount of reading, testing, Googling enlightened me on  
how this task is accomplished using Ruby.

If this is easy in Ruby I’ll proceed to start crying now because I  
found my book and related internet resources woefully inadequate ☹  
Any help/feedback/pointers/useful links would be greatly appreciated.

Regards,

S.

---

<div class="post-metadata">

**Author:** ![ISSSSaki\_Baz\_C](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/51bf81/32.png) [@ISSSSaki\_Baz\_C](https://www.ruby-forum.com/u/ISSSSaki_Baz_C)\
**Post date:** [July 23, 2008, 4:01am UTC](https://www.ruby-forum.com/t/how-to-do-group-exception-classes/143822/3 "2008-07-23T04:01:54Z")

</div>

Documentation : [Class: IO (Ruby 1.8.6)](http://www.ruby-doc.org/core-1.8.6/classes/IO.html)

contents = File.read(“filename”) #read  
contents.gsub!(“what you look for”, “the substitutive”) # modify  
File.open(“filename”, “rw”) { |file| file \<\< contents } #write

## Warning: File.read will bring the whole file to memory.

Emmanuel O.  
ELC Technologies ™  
1921 State Street  
Santa Barbara, CA 93101  
removed\_email\_address@domain.invalid

(866)863-7365 Tel  
(866)893-1902 Fax

+44 (0) 20 7504 1346 Tel - London Office  
+44 (0) 20 7504 1347 Fax - London Office

[http://www.elctech.com](http://www.elctech.com)

---

<div class="post-metadata">

**Author:** ![ISSSSaki\_Baz\_C](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/51bf81/32.png) [@ISSSSaki\_Baz\_C](https://www.ruby-forum.com/u/ISSSSaki_Baz_C)\
**Post date:** [July 23, 2008, 7:06am UTC](https://www.ruby-forum.com/t/how-to-do-group-exception-classes/143822/4 "2008-07-23T07:06:47Z")

</div>

Emmanuel, thank you very much for sorting me out. I can see I was  
close but very confused on the write step.

Quoting Emmanuel O. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):
