VB에서는 예외상황을 다음과 같이 처리하면 된다.
try
    해봐야할것들()
catch 붙잡아올예외상황 as type [when 이럴때만]
    예외처리를위해할것들()
fianally
    어쨌든할것들()
end try

try 밑에 있는 것들은 일단 실행된다. 예외가 안나오면 그냥 가고, 예외가 나온다면 그 예외를 catch에 던져준다.
catch는 여러개가 있을 수 있는데, 그중 자기가 처리할 예외를 받은 catch 안에 있는 것들이 실행된다. when은 조건인데, 어떤 경우에는 그 예외를 처리해주고 어떤 경우에는 처리하지 않을지 결정한다. 물론 when의 조건이 참일 때 처리하고 거짓일때 처리하지 않는다.
fianally는 try하고나서 예외가 발생하든 말든 무조건 실행되는 부분이다.
사용설명서에 보면 catch가 하나도 없으면 fianally는 반드시 있어야 한댄다. 물론 catch가 하나라도 있으면 fianally는 필요없다.

나는 이 구문을 유용하게 쓰고 있는데, 예외가 발생하면 무조건 try-catch에 넣어버리고, 예외가 발생하면 그 부분을 그냥 건너뛰어 버린다. 그래도 괜찮은 프로그램을 만들고 있기 때문이다.
by snowall 2009. 9. 24. 17:35