Microsoft MVP성태의 닷넷 이야기
Async 메서드와 try~catch [링크 복사], [링크+제목 복사],
조회: 15434
글쓴 사람
guest
홈페이지
첨부 파일
 

Async 메서드의 경우 try~catch의 위치를 어디에 놓는게 기본인지요?
1안과 2안중
// 예제1
private void button1_Click(object sender, EventArgs e)
{
     1안)
     try{
          Run(); //UI Thread에서 실행
     }catch(Exception ex){


     }
     
}

private async void Run()
{
    // 비동기로 Worker Thread에서 도는 task1
    // Task.Run(): .NET Framework 4.5+
    var task1 = Task.Run(() => LongCalcAsync(10));

   <2안>
    try{

      // task1이 끝나길 기다렸다가 끝나면 결과치를 sum에 할당
      int sum = await task1;

       // UI Thread 에서 실행 // Control.Invoke 혹은 Control.BeginInvok 필요없음
        this.label1.Text = "Sum = " + sum;
    }catch(Exception Ex){


    }
    
   
}

private int LongCalcAsync(int times)
{
    int result = 0;
    for (int i = 0; i < times; i++)
    {
        result += i;
        Thread.Sleep(1000);
    }
    return result;
}








[최초 등록일: ]
[최종 수정일: 4/24/2023]


비밀번호

댓글 작성자
 



2023-04-24 04시12분
둘 간의 차이점이 있던가요?
정성태

... 16  17  18  19  20  21  22  23  24  25  [26]  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
5302궁금하당2/27/202023900C#에서 C++ DLL호출 ('PInvokeStackImbalance') [4]파일 다운로드1
5301질문합니...2/27/202019133소켓 대량 데이터 디자인 문의 [1]
5300nals...2/27/202020151vs2013에서 BinaryFormatter Serialize 후 vs2015에서 Deserialize시 예외 발생 [3]파일 다운로드1
5298질문2/26/202022065.lic 파일에 대해 질문 있습니다. [9]
5297임한승2/26/202017574vs2013에서 BinaryFormatter Serialize 후 vs2015에서 Deserialize시 예외 발생 건 [1]파일 다운로드1
5295나그네2/25/202020163클라이언트 PC 정보 조회관련.. [2]
5294닷넷초보ㅠ2/25/202020903윈폼으로 socket통신프로그램 만든후 release로 디버깅한 실행파일을 다른컴퓨터에서 실행할때 반응이없어요 [1]
5293탱코2/21/202020358검색을 하고 싶은데 어떻게 검색을 해야 할 지 모르겠습니다. [1]
5292아부리2/19/202019276XingApiNet 관련 질문 [3]
5291지현명2/15/202021534JsonConvert.Serialize 하고 Deserialize 할때 간헐적으로 한글 깨짐 현상 문의 합니다. [3]
5290베도빈2/15/202020406직접 제작한 사용자 정의 콘트롤 DLL, 실행파일에 포함시켜 배포할 수 있을까요? [1]
5288김성배2/14/202020194c# 참조추가 기능에서 DirectX 참조가 보이지 않아요.. DircetX 11 은 설치 되어 있습니다. [1]
5287C# 초...2/14/202017582프로그램 실행 질문 드립니다. [4]파일 다운로드1
5286gongs2/3/202028769윈도우 배율 및 레이아웃에 대한 질문입니다. [3]
5285강성욱1/27/202021397작업관리자에 표시되는 스레드 개수와 프로그램 내 스레드 개수 일치 [1]
5284이상준1/15/202028367출력창에 '스레드가 종료되었습니다' 문구 문의 [2]파일 다운로드1
5282봉봉이 1/13/202022287소켓 비동기 ReceiveTimeOut 구현 [9]파일 다운로드1
5281봉봉이 1/13/202021493소켓 비동기 ReceiveTimeOut 구현 [2]
5280sdd1/8/202018089데이터 저장, 배치파일 관련하여 질문드립니다. [4]
5279김창한12/27/201920466dsoframer ocx [3]
5278guest12/27/201918417CLR 스레드 풀 관련 질문 [1]
5277방문자12/26/201918478WindowsForm 질문드립니다. [3]
5276진우12/17/201921994c++/c# 에도 파이썬 가상환경 같은 기능 혹시 있는지 궁금합니다. [3]
5275송재필12/17/201919542아래 'c#8.0 프로그래밍 교제 예제 관련 문의 드립니다' 의 원인이 압축 파일의 문제인듯 합니다. [2]파일 다운로드1
5272정영훈12/13/201921162byte => string => byte 변환 문의드립니다. [5]파일 다운로드1
5270김세미12/3/201920322c#8.0 프로그래밍 교제 예제 관련 문의 드립니다. [4]
... 16  17  18  19  20  21  22  23  24  25  [26]  27  28  29  30  ...