From: matz@... (Yukihiro Matsumoto) Date: 2003-05-22T17:09:59+09:00 Subject: Re: YAML problem Hi, In message "Re: YAML problem" on 03/05/22, why the lucky stiff writes: |I've changed it to raise an ArgumentError, as marshal does with |its parse errors. In what case do I raise an ArgumentError and in what |case do I throw a TypeError? What is the logic? For now, I follow |http://rrr.jin.gr.jp/rwiki?cmd=view;name=Marshal%3A%3AUT-Result. I've believed I had a logic in choosing TypeError and ArgumentError, but as I review the source, I found there's no logic, just arbitrary choice. In 1.8.0, I try to make them consistent. Basically, all errors caused by marshaling/unmarshaling object type raise TypeError, any other errors raise ArgumentError. matz.