MethodA는 MethodB를 호출하여 MethodC를 호출합니다.
MethodB 또는 MethodC에는 예외 처리가 없습니다. 그러나 MethodA에는 예외 처리가 있습니다.
MethodC에서는 예외가 발생합니다.
이제 예외는 MethodA까지 버블 링되어 적절하게 처리됩니다.
이것에 무슨 문제가 있습니까?
내 마음에, 어떤 시점에서 호출자는 MethodB 또는 MethodC를 실행할 것이고, 그 메소드에서 예외가 발생하면 해당 메소드 내에서 예외를 처리하여 얻을 수있는 것은 본질적으로 그냥 let 대신에 try / catch / finally 블록입니다. 그들은 수신자에게 버블 링?
예외 처리에 대한 진술 또는 합의는 예외로 인해 실행을 계속할 수 없을 때 발생하는 것입니다. 나는 그것을 얻는다. 그러나 try / catch 블록을 완전히 없애는 대신 체인에서 예외를 잡으십시오.
리소스를 확보해야 할 때 이해합니다. 그것은 완전히 다른 문제입니다.
try-catch
블록 이 전혀 필요하지 않습니다 .
Result<T>
유형 (계산 결과 또는 오류를 저장하는 유형 )을 구현하고 던지는 함수에서 반환하면됩니다. 스택에 오류를 전파하면 모든 반환 값을 읽고, 오류가 있는지 확인하고, 그렇다면 오류를 반환해야합니다.