2015-11-17 89 views
0

如下所示,是否可以在沒有參數的catch塊中獲取Exception對象?如果是這樣,如何?catch塊中的異常對象

try 
{ 

    // code possibly throwing an exception to be caught below 

} catch 
{ 

    // Note the catch here has no argument, in contrast to catch(Exception ex). 
    // If possible, I want to get an Exception object without the argument (Exception ex). 

} 
+2

不,你想完成什麼?爲什麼你不能使用正常的語法? –

+0

@ user5525674編寫'catch {}'意味着你明確*不關心異常對象。如果你關心異常對象,你必須寫'catch(Exception ex){}'。關於它沒有兩種方法。 – Rob

+0

我可以使用正常的語法,沒問題。有時我們會考慮並偏離正常語法提供的內容。對於這裏值得的是我想要做的。 我不需要(Exception ex)在發佈模式,但只在調試。如果我能得到一個Exception對象,我只需要在發佈模式中註釋掉這些行(我有一個更快的方法)。如果我必須使用(Exception ex),我必須刪除部分代碼行。 沒有什麼不同尋常的做法。我只是在尋找可能性。如果它不能完成,那很好,但不堅持'正常語法'不是罪過。 – user5525674

回答

2

在這種情況下,您唯一能做的就是在該catch塊內寫入throw;

這將重新拋出捕捉到的異常,調用堆棧可以捕捉並解釋更高的內容。

在沒有寫入catch (Exception ex)中,您已明確告訴運行時您對此時的異常細節不感興趣。

1

答案是否定的,這是不可能的。但是,爲什麼你甚至想這樣做呢?你應該捕獲你的try塊可以拋出的特定類型的異常並相應地處理它們。如果你只有一個不關心特定類型的異常,那麼就像你說的那樣使用(Exception ex)