これは、C#では理解できない奇妙なシナリオです。
try
{
Call to database.
If results from database are empty
throw new Exception("No results");
}
catch(Exception ex)
{
if (ex.Message.Equals("No results"))
throw;
else
throw new Exception("Exception from database");
}
正しく、出力は次のようになります。Exception ("No results")
ただし、現時点では、2つの例外、つまりException("No results")
とをスローし続けException("Exception from database")
ます。
更新:内部例外として「ex」をスローしようとしました。したがって、「throw new Exception("Exception from database", ex)
」です。exは実際には'であることがわかりException("No results")
ます。
なぜこれが起こっているのか誰かが私に説明できますか?
ありがとう!
PS:上記を少し調整しました。今より明確になることを願っています。その「スロー」は「リターン」ではありません。用語の誤用についてお詫びします。