# Formattare STDERR

**URL:** <https://www.ruby-forum.com/t/formattare-stderr/82909>\
**Category:** IT\
**Created:** [January 22, 2007, 10:49am UTC](https://www.ruby-forum.com/t/formattare-stderr/82909 "2007-01-22T10:49:33Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![hpatoio](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/a9adbd/32.png) [@hpatoio](https://www.ruby-forum.com/u/hpatoio)\
**Post date:** [January 22, 2007, 10:49am UTC](https://www.ruby-forum.com/t/formattare-stderr/82909/1 "2007-01-22T10:49:33Z")

</div>

Ciao, volevo modificare il testo del messaggio in caso di errore.

So che potrei “racchiudere” tutto il mio script in un begin/rescue del  
tipo

begin  
– Tutto il mio script  
rescue  
– puts dei vari parametri di errore usando $! e $@  
end

Volevo pero’ sapere se c’è un modo per “sovrascrivere” il metodo che  
gestice l’output del messaggio di errore per personalizzarlo.

Grazie

Simone

---

<div class="post-metadata">

**Author:** ![hpatoio](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/a9adbd/32.png) [@hpatoio](https://www.ruby-forum.com/u/hpatoio)\
**Post date:** [January 22, 2007, 11:05am UTC](https://www.ruby-forum.com/t/formattare-stderr/82909/2 "2007-01-22T11:05:35Z")

</div>

questo fa parzialmente quello che chiedi, ma se lo runni vedi che write  
non  
è la funzione giusta da sovrascrivere (però è fuochino). guarda i metodi di  
IO e forse trovi qualcosa di più adatto.

STDERR.instance\_eval do  
class \<\<self  
alias old\_write write

```
def write text
  old_write "(ERROR #{text})"
end

```

end  
end

puts “hi”  
puts 7/0

On 1/22/07, Simone F. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> end  
> [http://lists.ruby-it.org/mailman/listinfo/ml](http://lists.ruby-it.org/mailman/listinfo/ml)

–  
Chiaroscuro

: : i’m a miner : : | [therubymine.com](http://therubymine.com)
