C# 如何从类返回错误

C# 如何从类返回错误,c#,class,imagemagick,C#,Class,Imagemagick,我是c#的新手,我不知道我是否做对了。我的问题是我需要从类(.dll)返回错误,但我不知道如何返回。它只返回true或false。这是我的班级代码: namespace DigitalAssetConverter { public class ConvertImage { public Boolean ImagePath(string filePath) { try {

我是c#的新手,我不知道我是否做对了。我的问题是我需要从类(.dll)返回错误,但我不知道如何返回。它只返回true或false。这是我的班级代码:

namespace DigitalAssetConverter
{
    public class ConvertImage
    {
        public Boolean ImagePath(string filePath)
        {
            try
            {
                MagickReadSettings settings = new MagickReadSettings();
                settings.ColorSpace = ColorSpace.RGB;

                using (MagickImage image = new MagickImage(filePath))
                {
                    image.Read(filePath, settings);
                    image.Resize(500, 500);
                    image.Write(Path.ChangeExtension(filePath, ".jpg"));
                    return true;
                }
            }
            catch
            {
                return false;
            }
        }
    }
}
我是这样用的:

  private void btnConvert_Click(object sender, EventArgs e)
    {
        ConvertImage ci = new ConvertImage();
        if (ci.ImagePath(@"C:\tryConvert\LP_10078.eps"))
        {
            MessageBox.Show("Success!");
        }
        else
        {
            MessageBox.Show("Failed.");
        }
    }

省略
try/catch
块并使返回类型无效:

public void ImagePath(string filePath)
{
    MagickReadSettings settings = new MagickReadSettings();
    settings.ColorSpace = ColorSpace.RGB;

    using (MagickImage image = new MagickImage(filePath))
    {
        image.Read(filePath, settings);
        image.Resize(500, 500);
        image.Write(Path.ChangeExtension(filePath, ".jpg"));
    }
}
异常(如果有)将自行冒泡,您可以将
try/catch
块放在
btnConvert\u单击
事件中处理它:

private void btnConvert_Click(object sender, EventArgs e)
{
    ConvertImage ci = new ConvertImage();

    try
    {
        ci.ImagePath(@"C:\tryConvert\LP_10078.eps")
        MessageBox.Show("Success!");
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}