Print

Print


Coming from nowhere on this...is there a place where it would be 
convenient to flag which behavior the user (of the library) wants? I 
think you're correct that most of the time you'd just want to blow 
through it (or replace it), but for the situation where this isn't the 
case, I think the Right Thing to do is raise the exception. I don't 
think you would want to bury it in some assumption made internal to the 
library unless that assumption can be turned off.

-Jon


On 11/19/2013 07:51 PM, Jonathan Rochkind wrote:
> ruby-marc users, a question.
>
> I am working on some Marc8 to UTF-8 conversion for ruby-marc.
>
> Sometimes, what appears to be an illegal byte will appear in the Marc8 
> input, and it can not be converted to UTF8.
>
> The software will support two alternatives when this happens: 1) 
> Raising an exception. 2) Replacing the illegal byte with a replacement 
> char and/or omitting it.
>
> I feel like most of the time, users are going to want #2.  I know 
> that's what I'm going to want nearly all the time.
>
> Yet, still, I am feeling uncertain whether that should be the default. 
> Which should be the default behavior, #1 or #2?  If most people most 
> of the time are going to want #2 (is this true?), then should that be 
> the default behavior?   Or should #1 still be the default behavior, 
> because by default bad input should raise, not be silently recovered 
> from, even though most people most of the time won't want that, heh.
>
> Jonathan