-
C# Excel Application이 예외 발생 시 종료되지 않는 현상프로그래밍/의문 2019. 3. 31. 17:05반응형
예외를 잡아주지 않으면 Excel이 꺼지지 않고 계속 떠있다.
다음은 예외를 의도적으로 발생시키고 그것을 finally로 종료한 코드이다.
using System; using Excel = Microsoft.Office.Interop.Excel; class Program { static void Main(string[] args) { Excel.Application app = new Excel.Application(); try { app.DisplayAlerts = false; throw new ArgumentException("exception"); } finally { app.Workbooks.Close(); app.Quit(); } } }
프로세스 상태
꺼지지 않은 Excel Process finally 내부 코드가 실행되었는데도 백그라운드 프로세스에 Excel이 계속 떠있다.
다음은 Excel Application이 꺼지지 않는 문제를 수정한 코드이다.
이전 코드에서 catch문만 추가했다.
using System; using Excel = Microsoft.Office.Interop.Excel; class Program { static void Main(string[] args) { Excel.Application app = new Excel.Application(); try { app.DisplayAlerts = false; throw new ArgumentException("exception"); } catch(Exception) { } finally { app.Workbooks.Close(); app.Quit(); } } }
프로세스 상태
없어진 Excel Process 결론: Catch하자
반응형'프로그래밍 > 의문' 카테고리의 다른 글
boost asio 사용 시 win32 버전을 지정하지 않으면 io_context::run이 빠져나가는 현상 (0) 2019.04.14 CRITICAL_SECTION의 default spin count (0) 2019.04.10 암호화 라이브러리 간 차이 때문에 암호화 결과가 달랐던 경우 (0) 2018.11.12 윈도우 openssl OPENSSL_Uplink(00007FFBDEE003D8,08): no OPENSSL_Applink 에러 (0) 2018.11.01 비주얼 스튜디오, utf8로 저장된 문자열 보기 (0) 2018.09.13