我们经常在方法中使用try catch语句,如果该方法可以返回值,但该值不是字符串,那么如何返回异常消息?
例如:

public int GetFile(string path)
{
    int i;
    try
    {
        //...
        return i;
    }
    catch (Exception ex)
    {
        // How to return the ex?
        // If the return type is a custom class, how to deal with it?
    }
 }


如何返回异常?

最佳答案

如果您想在catch块中做一些有用的事情,例如记录异常,则可以remove尝试使用catch块引发异常,或从catch块中抛出throw异常。如果要从方法发送异常消息并且不想引发异常,则可以使用out字符串变量来保存异常消息以供调用方法。

public int GetFile(string path, out string error)
{
    error = string.Empty.
    int i;
    try
    {
        //...
        return i;
    }
    catch(Exception ex)
    {
        error = ex.Message;
        // How to return the ex?
        // If the return type is a custom class, how to deal with it?
    }
 }


如何调用方法。

string error = string.Empty;
GetFile("yourpath", out error);

关于c# - try catch 异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14064785/

10-17 01:21