天天看點

在java 7中捕獲多個異常

java 7使得我們能夠在同一個catch語句塊中捕獲多種不同的異常,這也叫做多重異常捕獲。

在java7以前,我們可能要這樣做:

<code>01</code>

<code>try</code> <code>{</code>

<code>02</code>

<code>03</code>

<code>    </code><code>// execute code that may throw 1 of the 3 exceptions below.</code>

<code>04</code>

<code>05</code>

<code>} </code><code>catch</code><code>(sqlexception e) {</code>

<code>06</code>

<code>    </code><code>logger.log(e);</code>

<code>07</code>

<code>08</code>

<code>} </code><code>catch</code><code>(ioexception e) {</code>

<code>09</code>

<code>10</code>

<code>11</code>

<code>} </code><code>catch</code><code>(exception e) {</code>

<code>12</code>

<code>    </code><code>logger.severe(e);</code>

<code>13</code>

<code>}</code>

正如上面看到的,sqlexception 和ioexception 這兩個異常都是以相同的方式來處理的,但是你仍然要為這兩個異常寫兩個獨立的catch語句塊。

java 7中你可以像下面這樣捕獲多個異常:

<code>} </code><code>catch</code><code>(&lt;strong&gt;sqlexception | ioexception e&lt;/strong&gt;) {</code>

注意,第一個catch語句塊中的兩個異常名字是被管道字元|分割的。兩個異常類名之間的管道字元就是在同一個catch語句塊中聲明多個異常的方法。

下一篇: 重入鎖死