본문 바로가기
Rust

[Rust] fn main() -> Result<(), Box<dyn std::error::Error>> { } 가 무엇인가? (61일차)

by 꾸압 2023. 3. 6.

 

<의문>

fn main() -> Result<(), Box<dyn std::error::Error>> {
    
}

>> 보통 fn main() { } 만 쓰는데, 위와 같은 구문이 있었다. Result, error 등은 무엇일까?

 

<설명>

* -> 는 main() 에 대한 return value 를 의미한다.

* Result 형식은 성공을 지칭하는 OK(()) 혹은 Box<dyn std::error::Error 를 가진다.

* Box<dyn std::error::Error 는 에러 발생시 Rust에서 흔한 Error 표현인 std::error::Error 트레잇(Trait) 를 return한다.

 

* 즉 main function은 아무 argument도 없이 '( )' (empty tuple) 를 반환하거나,

* Crashing이나 Panicking이 아닌 Fail 의 경우에 Error 발생시킴.

 

 


 

<참조 1> https://chat.openai.com/chat

 

 

댓글