Show message box in case of exception

后端 未结 3 1102
孤独总比滥情好
孤独总比滥情好 2020-12-14 12:07

I\'m wondering what the correct way is to pass on an exception from one method to my form.

public void test()
{
    try
    {
        int num = int.Parse(\"g         


        
3条回答
  •  没有蜡笔的小新
    2020-12-14 12:30

    If you want just the summary of the exception use:

        try
        {
            test();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    

    If you want to see the whole stack trace (usually better for debugging) use:

        try
        {
            test();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
    

    Another method I sometime use is:

        private DoSomthing(int arg1, int arg2, out string errorMessage)
        {
             int result ;
            errorMessage = String.Empty;
            try 
            {           
                //do stuff
                int result = 42;
            }
            catch (Exception ex)
            {
    
                errorMessage = ex.Message;//OR ex.ToString(); OR Free text OR an custom object
                result = -1;
            }
            return result;
        }
    

    And In your form you will have something like:

        string ErrorMessage;
        int result = DoSomthing(1, 2, out ErrorMessage);
        if (!String.IsNullOrEmpty(ErrorMessage))
        {
            MessageBox.Show(ErrorMessage);
        }
    

提交回复
热议问题