Unity3d C# toolba 사용해보기

C# 예외처리.. System.Exception 클래스로 예외받기, finally..

안녕하세요 메르세데스입니다. C#의 예외처리를 이어서 진행하도록 하겠습니다.

System.Exception 클래스는 모든 처리구문의 부모클래스에 해당합니다.  그렇다는 이야기는 모든 예외를 Exception으로 전부 다 받을 수 있다는 그런 이야기같네요.. 네 맞습니다.

하지만.. 모든 예외라는것이 우리가 의도하지 않은 것들도 포함될 수  있기 때문에..  얼마만큼에 해당하는 케이스가 예외로 분류가되는지 감을 잡을 수 없죠.. 그래서 버그같은것들이 생길수도 있다는것을 명심하셔야겠습니다. 가급적이면 예외케이스를 구체화시켜서 처리해주시는게 필요할 것같네요..



C# Throw Example



위의 예제를 보면.. catch (Exception e ) ...   이렇게 예외를 받았는데요.. 다 받아집니다.

또한 위에 보시면 throw ~ Excep..  이렇게 해서 처리한 것이 있습니다. 이것은 예외를 발생시키는 구문입니다.

이렇게 throw 로 예외를 던지면..예외를 받아서 처리할 수 있네요..

try ~ catch 이렇게 해서 예외처리를 할 수 있지만.. 예기치못한 상황이 발생한다면.. 이것안으로도 해결이 안되는 상황이 있을 수 있는데요..

네트워크관련된 요소가 추가되거나 db세션등을 닫는등의 다른곳에서 값을 받아오는류의 상황이 중간에 꺼어버리면.. try ~ catch 절 만으로도 해결이 안될 수 있습니다

이럴경우에는 
finally {   } 절을 아래에 추가하시면되겠습니다.  뒷마무리를 깔끔하게?  할 수 있도록 지원해주는 구문입니다...


c# finally



finally절의 특징은.. 무조건 실행된다는 특징이 있습니다. 그렇기때문에 더욱 유용할 것같네요..^^;










댓글