mul()メソッドでOverflowExceptionを処理する必要があります。C#でOverflowExceptionを処理する方法は?
class B
{
short a, b;
public B(short a, short b) { this.a = a; this.b = b; }
public short mul()
{
try
{
return checked((short)(a * b));
}
catch (OverflowException exc) { Console.WriteLine(exc); }
}
}
class MainClass
{
public static void Main(string[] args)
{
B m1 = new B(1000, 500);
m1.mul();
}
}
しかし、上記のコードは次のエラーを与える:エラーCS0161:「B.mul()」:すべてのコードパスが値(CS0161)を返さない
が、私はそれを修正するために何ができますか?
リターン 'MUL()' doesnの場合がありますことを意味例外 – stuartd
をキャッチ後の値'戻り値'。あなたのコードが何をしているかを考えれば、簡単に見つけることができます。 –
「キャッチ」内に2回目の 'return'を追加すると、すべての回答にtry-catchブロックの外側に1つの' return'を置くことができます(普通は私がします) – Veverke