A few points:

1. You can just return this value immediately, rather than storing it in `decoded`.
2. You'll need to pass `{fatal: true}` as the second argument to `TextDecoder` to make it throw errors, I think.
3. You don't need to wrap this in a try/catch block; just let the original exception through.
4. Could you make the other text-reading methods use `TextDecoder` as well? I know they're pretty simple, but it would be good to be consistent, and `TextDecoder` is the smarter way to do this anyway. (It's probably faster too!)