■ ? 연산자를 사용해 에러를 전파하는 방법을 보여준다.
▶ 예제 코드 (RS)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
use std::fs; use std::io; use std::io::Read; fn read_file() -> Result<String, io::Error> { let mut file : fs::File = fs::File::open("hello.txt")?; let mut file_content : String = String::new(); file.read_to_string(&mut file_content)?; return Ok(file_content); } fn main() { let file_content : String = read_file().unwrap(); println!("{}", file_content); } |
※ ? 연산자는 Result를 반환하는 함수 내에서만 사용할 수 있다.