1
Fork 0

Mass rename if_ok! to try!

This "bubble up an error" macro was originally named if_ok! in order to get it
landed, but after the fact it was discovered that this name is not exactly
desirable.

The name `if_ok!` isn't immediately clear that is has much to do with error
handling, and it doesn't look fantastic in all contexts (if if_ok!(...) {}). In
general, the agreed opinion about `if_ok!` is that is came in as subpar.

The name `try!` is more invocative of error handling, it's shorter by 2 letters,
and it looks fitting in almost all circumstances. One concern about the word
`try!` is that it's too invocative of exceptions, but the belief is that this
will be overcome with documentation and examples.

Close #12037
This commit is contained in:
Alex Crichton 2014-02-19 10:07:49 -08:00
parent 06e1281198
commit 7bb498bd7a
32 changed files with 1222 additions and 1226 deletions

View file

@ -365,7 +365,7 @@ pub struct IoError {
impl fmt::Show for IoError {
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
if_ok!(fmt.buf.write_str(self.desc));
try!(fmt.buf.write_str(self.desc));
match self.detail {
Some(ref s) => write!(fmt.buf, " ({})", *s),
None => Ok(())
@ -581,7 +581,7 @@ pub trait Reader {
let mut pos = 0;
let mut i = nbytes;
while i > 0 {
val += (if_ok!(self.read_u8()) as u64) << pos;
val += (try!(self.read_u8()) as u64) << pos;
pos += 8;
i -= 1;
}
@ -605,7 +605,7 @@ pub trait Reader {
let mut i = nbytes;
while i > 0 {
i -= 1;
val += (if_ok!(self.read_u8()) as u64) << i * 8;
val += (try!(self.read_u8()) as u64) << i * 8;
}
Ok(val)
}
@ -1191,7 +1191,7 @@ pub trait Buffer: Reader {
/// This function will also return error if the stream does not contain a
/// valid utf-8 encoded codepoint as the next few bytes in the stream.
fn read_char(&mut self) -> IoResult<char> {
let first_byte = if_ok!(self.read_byte());
let first_byte = try!(self.read_byte());
let width = str::utf8_char_width(first_byte);
if width == 1 { return Ok(first_byte as char) }
if width == 0 { return Err(standard_error(InvalidInput)) } // not utf8
@ -1199,7 +1199,7 @@ pub trait Buffer: Reader {
{
let mut start = 1;
while start < width {
match if_ok!(self.read(buf.mut_slice(start, width))) {
match try!(self.read(buf.mut_slice(start, width))) {
n if n == width - start => break,
n if n < width - start => { start += n; }
_ => return Err(standard_error(InvalidInput)),