본문 바로가기
 

하나성경

읽기 쉬운 성경, 하나성경을 소개합니다.

www.hbible.co.kr

컴퓨터에서는

[ Rust ] 초급 문법 : 16. 결과 타입 (Result<T, E>) – 오류 처리를 위한 기본 타입

by 컴 여행자 2025. 5. 21.
728x90
반응형

 

러스트
러스트

 

 

초급 문법 : 16. 결과 타입 (Result<T, E>) – 오류 처리를 위한 기본 타입

 

 


✅ 1단계: Result<T, E>란 무엇인가요?

Result<T, E>는 "무언가를 시도했을 때 성공할 수도 있고 실패할 수도 있다"는 것을 표현하는 Rust의 기본 타입입니다.

  • T는 성공했을 때 나오는 값의 타입
  • E는 실패했을 때 나오는 오류의 타입

기본 형태:

enum Result<T, E> {
    Ok(T),
    Err(E),
}
  • Ok(T)는 성공했을 때의 결과
  • Err(E)는 실패했을 때의 오류 정보

✅ 2단계: 아주 간단한 예제

예제 설명:

숫자 10을 어떤 숫자로 나눌 때, 0으로 나누면 오류(Err)를 발생시키고, 그렇지 않으면 성공(Ok)으로 결과를 돌려주는 함수입니다.

🧑‍💻VS Code에서 코드 작성 방법

코드를 작성하고 실행해 봅시다.

 

VS Code에서 Rust 파일 생성

 

1️⃣ 터미널 열기

  • VS Code를 실행하고, Ctrl + ~ (물결표) 키를 눌러 터미널을 엽니다.
  • 또는 메뉴에서 [터미널] → [새 터미널] 선택하세요.
  • 터미널이 이미 열려 있으면, 열려 있는 터미널을 이용하세요.

2️⃣ 새 Rust 프로젝트 생성

  • 새로운 Rust 프로젝트를 만들 폴더로 이동 (예: C:\RustProjects)
cd C:\RustProjects

 

  • 터미널에 아래 명령을 입력하고 Enter 키를 누릅니다.
  • rust_result 라는 폴더가 생성됩니다.
cargo new rust_result

 

 

3️⃣ 프로젝트 열기

  • VS Code에서 [파일] → [폴더 열기] 선택 후 rust_result 폴더를 엽니다.

4️⃣ 메인 파일 열기

  • 왼쪽 src 폴더에서 main.rs 파일을 클릭하여 엽니다.

 

아래 코드를 입력하세요.

fn divide(x: i32, y: i32) -> Result<i32, String> {
    if y == 0 {
        Err(String::from("Cannot divide by zero"))
    } else {
        Ok(x / y)
    }
}

fn main() {
    let result = divide(10, 2);

    match result {
        Ok(value) => println!("Result: {}", value),
        Err(error) => println!("Error: {}", error),
    }

    let result2 = divide(10, 0);

    match result2 {
        Ok(value) => println!("Result: {}", value),
        Err(error) => println!("Error: {}", error),
    }
}

✅ 3단계: 이 코드의 작동 원리

 

코드 설명
fn divide(x, y) 두 숫자를 나누는 함수입니다.
-> Result<i32, String> 성공하면 정수(i32)를, 실패하면 문자열(String)을 반환합니다.
if y == 0 { Err(...) } 나누는 수가 0이면 오류를 반환합니다.
Ok(x / y) 성공적으로 나누면 결과를 Ok로 감싸 반환합니다.
match result { ... } 결과를 Ok 또는 Err로 나누어 처리합니다.

✅ 4단계: 실행해보기

Ctrl + S 를 눌러 파일을 저장합니다. (또는 메뉴 -> 파일 -> 저장)

Ctrl + ~ (물결표) 키를 눌러 터미널을 엽니다.

 

터미널에서 아래 명령어를 입력하세요.

cargo run

 

 

출력 결과:

Result: 5
Error: Cannot divide by zero

✅ 5단계: 핵심 요약

 

용어 설명
Result<T, E> 성공(Ok) 또는 실패(Err)를 나타내는 열거형(enum)
Ok(T) 성공했을 때 나오는 값
Err(E) 실패했을 때 나오는 오류 메시지 등

 

 

이상으로 result에 대해 알아보았습니다.

 

 


 

러스트 프로그래밍 언어 관련 글 목록입니다.

 

[ Rust ] 러스트 프로그래밍 언어 관련 글 목록입니다.

러스트 컴퓨터 프로그래밍 언어를 아이들에게 알려주기 위해 글을 작성하고 있습니다.가능한 쉽고 자세하게 그리고 잘 따라할 수 있도록 작성해 보려고 합니다.글이 작성되는 대로 계속 추가하

hb-love-each-other.tistory.com

 

 


 

https://rust-kr.org/

 

한국 러스트 사용자 그룹

 

rust-kr.org

 

https://www.rust-lang.org/

 

Rust Programming Language

A language empowering everyone to build reliable and efficient software.

www.rust-lang.org

 

 

728x90
반응형

댓글