2012-03-22 5 views
1

가능한 중복 :
How to catch exceptions시도/캐치 예외

은 정말 시도하고 잡을 예외를 사용할 수 없었어요. 잠재적 인 오류를 잡으려고 try/catch를 사용하려고합니다. 이제 시도를 넣고 이것이 내가 지금 가지고있는 코드 잡기 위해 어디 지금은

try 
{ 

} 
catch 
{ 
MessageBox.Show("error"); 
} 

여기 아래에 넣어 것입니다 ..

divide d; 
    private void button1_Click(object sender, EventArgs e) 
    { 
     d = new divide(int.Parse(textBox1.Text), int.Parse(textBox2.Text)); 
     int total = d.CalculateDivision(); 
     MessageBox.Show(total.ToString()); 
    } 

있는지하지 AM 또는 나는를 추가 코드 어딘가에 잡으려고.

+0

어디에 질문은 : 예외 처리는이 시도 및 캐치 블록 후에 간다,이 예외가 있었다 여부를 실행 얻을 것이라고 마지막으로 블록을 살펴보고있다? '새로운 분할 '이란 무엇입니까? – gdoron

+1

당신은 try/catch가 약간 비쌉니다. 따라서 TryParse API를 사용하고 예외를 피하기 위해 위의 코드로 약간의 리팩토링을 할 수 있습니다. – Zenwalker

+0

웹 응용 프로그램의 경우 Global.asax에서 Application_Error 이벤트를 사용할 수 있습니다. http://stackoverflow.com/questions/9806832/general-exception-handling-without-global-asax-file – Flowerking

답변

2

try는 예외가 발생 코드 주위에 간다 http://msdn.microsoft.com/en-us/library/ms173160.aspx

를 참조하고 값이 처리됩니다. 귀하의 예 :

divide d; 
private void button1_Click(object sender, EventArgs e) 
{ 
    try 
    { 

    d = new divide(int.Parse(textBox1.Text), int.Parse(textBox2.Text)); 
    int total = d.CalculateDivision(); 
    MessageBox.Show(total.ToString()); 
    } 
    catch(Exception) 
    { 
    MessageBox.Show("error"); 
    } 
} 

예외가없는 경우에만 합계를 표시 할 수 있습니다.

1

아니요, 맞습니다. 당신이 우리에게 보여 어떤 그냥처럼 사용

try 
{ 
    // Your Code. 
} 
catch (Exception ex) 
{ 
    MessageBox.Show(ex); 
} 
0

당신은 같은 것을 할 것 :

private void button1_Click(object sender, EventArgs e) 
{ 
    try 
    { 
     d = new divide(int.Parse(textBox1.Text), int.Parse(textBox2.Text)); 
     int total = d.CalculateDivision(); 
     MessageBox.Show(total.ToString()); 
    } 
    catch(Exception error) 
    { 
     MessageBox.Show(error.Message); 
    } 
} 
1
예외가 당신에 대해 좀 더 많은 정보를 얻기 위해이 작업을 수행 할 수 있지만 슬로우되는 경우는 거의 대답을 야기했을 수 있습니다 것을

:

try 
{ 
    //your code: 
    d = new divide(int.Parse(textBox1.Text), int.Parse(textBox2.Text)); 
    int total = d.CalculateDivision(); 
    MessageBox.Show(total.ToString()); 
} 
catch (Exception ex) 
{ 
    MessageBox.Show("Error has occured! " + ex.Message); 
} 

당신에 대해 배우는 당신이보고에 대한 또 다른 팁

finally 
{ 
    // this code will always execute, maybe do some cleanup here 
}