消息框中的 C# 自定义异常标题

本文关键字:自定义异常 标题 消息 | 更新日期: 2023-09-27 18:35:40

标题有点令人困惑,所以希望我能在这里更好地解释它。我想更改出现错误时在屏幕上弹出的消息框的标题,因为默认消息非常冗长,我更愿意为用户可以理解的错误提供更好的解释。

private void Load_Click(object sender, RoutedEventArgs e)
    {
        if (comboBox.SelectedItem.ToString() == "Department Staff")
        {
            try
            {
                DataTable dt = dataSource.DataTableQuery("SELECT * FROM DepartmentStaff");
                dataGrid.ItemsSource = dt.DefaultView;
            }
            catch (NullReferenceException ex)
            {
                MessageBox.Show("Unable To Connect To Database, Please Try Again Later.", ex.ToString());
            }
        }
        else
        {
            try
            {
                DataTable dt = dataSource.DataTableQuery("SELECT * FROM Department");
                dataGrid.ItemsSource = dt.DefaultView;
            }
            catch (NullReferenceException ex)
            {
                MessageBox.Show("Unable To Connect To Database, Please Try Again Later.", ex.ToString());
            }
        }

消息框中的 C# 自定义异常标题

更仔细地看一下Message.Show()参数:

Message.Show(text, caption); //the first one is text, the second one is caption.
第二个参数是标题

(或标题),而第一个参数是消息。现在在您的使用中,您将异常消息(通常很长)作为标题,这就是为什么您会得到"极长"标题(而不是消息)的原因。

MessageBox.Show("Unable To Connect To Database, Please Try Again Later.", ex.ToString());

不要那样做!相反,请像这样做:

MessageBox.Show("Unable To Connect To Database, Please Try Again Later. " +  ex.ToString(), "Error");

只需将"错误"作为标题参数即可。