日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java开发原则_java开发中,大家处理异常的原则是什么,是如何处理的?

發(fā)布時間:2025/3/12 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java开发原则_java开发中,大家处理异常的原则是什么,是如何处理的? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

展開全部

最熟悉的陌生人:異常

異常的類e5a48de588b63231313335323631343130323136353331333361326365型Throwable

— Exception

—- RuntimeException

— Error

需要注意的是,RuntimeException及其子類不需要在方法簽名中顯示注明異常拋出。

例如:

void runtimeExceptionMethod1() {

throw new RuntimeException();

}

和:

void runtimeExceptionMethod2() throws RuntimeException {

throw new RuntimeException();

}

都可以,但是很多時候建議注明異常拋出。

異常的方法簽名和子類

方法簽名的異常定義等于或者是實際拋出異常的父類

void ioExceptionMethod1() throws IOException {

throw new IOException();

}

或者

void ioExceptionMethod2() throws IOException {

throw new FileNotFoundException();

}

都是可以的。

RuntimeException的特殊性

可以使用try-finally這種形式。

void runtimeExceptionMethod3() {

try {

runtimeExceptionMethod1();

} finally {

}

}

這個時候,不會處理異常,異常仍然會拋出給調(diào)用者。

異常處理分為兩種方式:

1處理

2拋給調(diào)用者

最常見的形式:

try {

} catch(Exception e) {

}

如果有額外的硬件資源或者鎖需要釋放的時候,需要增加finally.

try {

} catch(Exception e) {

} finally() {

}

舉幾個例子:

第一個例子:文件流的使用和關(guān)閉:

File realFile = new File(dir, "laplace.demo");

FileOutputStream fos = null;

try {

fos = new FileOutputStream(realFile);

fos.write(data);

fos.flush();

} catch (Exception var9) {

var9.printStackTrace();

} finally {

Utilities.silentlyClose(fos);

}

第二個例子:鎖的釋放

Lock lock = null;

try{

lock = new ReentrantLock();

lock.lock();

// Some sentence may cause exception.

} catch (Exception e){

} finally {

if(lock != null){

lock.unlock();

}

}

處理的原則

在講述了基本的原理后,講解一下處理的原則。

調(diào)用者是否關(guān)心異常發(fā)生的后果

如果異常發(fā)生后,會要有不同的處理邏輯,那么被調(diào)用者應(yīng)該將異常拋出。

作為sdk組件而言,本身無法知道紛繁復(fù)雜的需求,所以通常是需要將異常拋出,而不是自己處理。

對于業(yè)務(wù)層代碼而言,更多時候需要考慮到借口的友善性,可能會做出異常的處理,而不是再向調(diào)用者拋出。

此外,還有一些Java規(guī)范基本的約定:

例如通常只建議處理Exception,而不建議處理Error。

但是在實際的產(chǎn)品過程中,只要不是完全不能運行的情況,我們希望給用戶的感覺是,似乎發(fā)生了部分錯誤,但是整個程序還在運行,并沒有奔潰。

所以,對于異常類型的實際處理,還取決于產(chǎn)品邏輯。

總結(jié)

以上是生活随笔為你收集整理的java开发原则_java开发中,大家处理异常的原则是什么,是如何处理的?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。