為啥我寫了throws HttpException, IOException服務(wù)器就報(bào)錯(cuò)了
- 教育綜合
- 2023-02-05 17:43:17
java中在一個(gè)方法后面沒有加throws IOException為什么會報(bào)錯(cuò)?。。?/h3>這是File類內(nèi)部定義的,就是說如果你new的這個(gè)subpath目錄下找不到那個(gè)文件,F(xiàn)ile類內(nèi)部就會throw異常,因?yàn)槟闶褂昧诉@個(gè)File類,所以你必須處理這個(gè)異常,所以你不加throws IOException就會報(bào)錯(cuò)?。。?h3>為什么throws java.io.IOException在Eclipsc(Version: 2019-03 (4.11.0))中總是報(bào)錯(cuò)?
你的代碼寫錯(cuò)了,粗心造成的錯(cuò)誤。 public static void main(String argv[]){//把這個(gè){去掉就行了 throws java.io.IOException {JAVA書中寫的throws IOException什么意思?
class A throws IOException { throw new IOException(); } throw(沒有s)是在程序運(yùn)行時(shí)碰到非正常情況手動拋出的異常對象,告知方法內(nèi)部運(yùn)行碰到非正常情況。 throws(有s) IOException是對方法內(nèi)部要拋出的異常的一種聲明,告知方法的調(diào)用者這個(gè)方法可能會拋出的異常,讓調(diào)用這可以用try{}catch{}方法體進(jìn)行異常捕獲,方便處理。 另外,IOException是讀寫異常,通常發(fā)生在流,文件的讀寫過程中。JAVA書中寫的throws IOException什么意思
class A throws IOException { throw new IOException(); } throw(沒有s)是在程序運(yùn)行時(shí)碰到非正常情況手動拋出的異常對象,告知方法內(nèi)部運(yùn)行碰到非正常情況。 throws(有s) IOException是對方法內(nèi)部要拋出的異常的一種聲明,告知方法的調(diào)用者這個(gè)方法可能會拋出的異常,讓調(diào)用這可以用try{}catch{}方法體進(jìn)行異常捕獲,方便處理。 另外,IOException是讀寫異常,通常發(fā)生在流,文件的讀寫過程中。throws IOException什么意思?
throws IOException是Java中的throws語句。
throws是方法可能拋出異常的聲明。(用在聲明方法時(shí),表示該方法可能要拋出異常)
語法:[(修飾符)](返回值類型)(方法名)([參數(shù)列表])[throws(異常類)]{......}
public void doA(int a) throws
Exception1,Exception3{......}
舉例:
throws
E1,E2,E3只是告訴程序這個(gè)方法可能會拋出這些異常,方法的調(diào)用者可能要處理這些異常,而這些異常E1,E2,E3可能是該函數(shù)體產(chǎn)生的。
throw則是明確了這個(gè)地方要拋出這個(gè)異常。
如:
void doA(int a) throws IOException,{
try{
......
}catch(Exception1 e){
throw
e;
}catch(Exception2 e){
System.out.println("出錯(cuò)了!");
}
if(a!=b)
throw new
Exception3("自定義異常");
}
拓展資料:
Java輸入流:
InputStream的基本方法
int read()throws IOException
讀取一個(gè)字節(jié)以整數(shù)形式返回,如果返回-1已到輸入流的末尾
voidclose()throwsIOException
關(guān)閉流釋放內(nèi)存資源
longskip(longn)throwsIOException
跳過n個(gè)字節(jié)不讀
三種分類方式:
1、按流的方向分為:輸入流和輸出流
2、按流的數(shù)據(jù)單位不同分為:字節(jié)流和字符流
3、按流的功能不同分為:節(jié)點(diǎn)流和處理流
Java是一門面向?qū)ο缶幊陶Z言,不僅吸收了C++語言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強(qiáng)大和簡單易用兩個(gè)特征。Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,極好地實(shí)現(xiàn)了面向?qū)ο罄碚?,允許程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程 。
Java具有簡單性、面向?qū)ο?、分布式、健壯性、安全性、平臺獨(dú)立與可移植性、多線程、動態(tài)性等特點(diǎn) 。Java可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等.
Java看起來設(shè)計(jì)得很像C++,但是為了使語言小和容易熟悉,設(shè)計(jì)者們把C++語言中許多可用的特征去掉了,這些特征是一般程序員很少使用的。
例如,Java不支持go to語句,代之以提供break和continue語句以及異常處理。Java還剔除了C++的操作符過載(overload)和多繼承特征,并且不使用主文件,免去了預(yù)處理程序。因?yàn)镴ava沒有結(jié)構(gòu),數(shù)組和串都是對象,所以不需要指針。
Java能夠自動處理對象的引用和間接引用,實(shí)現(xiàn)自動的無用單元收集,使用戶不必為存儲管理問題煩惱,能更多的時(shí)間和精力花在研發(fā)上。
參考資料:JavaIO流 百度百科
上一篇
新冠病毒是包膜病毒,它侵染細(xì)胞的方式是什么?
下一篇
返回列表