相关疑难解决方法(0)

多次返回:哪一个设置最终返回值?

鉴于此代码:

String test() {
    try {
        return "1";
    } finally {
        return "2";
    }
}
Run Code Online (Sandbox Code Playgroud)

语言规范是否定义了调用的返回值test()?换句话说:每个JVM中它总是一样的吗?

在Sun JVM中,返回值是2,但我想确定,这不依赖于VM.

java return finally

46
推荐指数
5
解决办法
6117
查看次数

try-catch块具有返回类型

如果我有一个返回某些东西的方法,比如

public DataTable ReturnSomething()
{
   try
   {  
      //logic here
     return ds.Tables[0];
   }
   catch (Exception e)
   {
      ErrorString=e.Message;
   }
}
Run Code Online (Sandbox Code Playgroud)

这会产生编译器错误,显然是因为catch{}块不返回任何内容.

所以当我有返回值的方法时,我不使用try-catch块,这是一种不好的做法.如果有错误,我想将错误字符串设置为该错误.但是我还需要一个返回值.建议吗?

c# error-handling

12
推荐指数
4
解决办法
5万
查看次数

标签 统计

c# ×1

error-handling ×1

finally ×1

java ×1

return ×1