亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問try()括號里面的內容為什么不能放到外面?下面出錯的地方是哪里呢?

請問try()括號里面的內容為什么不能放到外面?下面出錯的地方是哪里呢?

qq_遁去的一_1 2022-02-17 11:11:09
try (PrintWriter out = new PrintWriter(socket.getOutputStream(), true);BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));) {String inputLine, outputLine;KnockKnockProtocol kkp = new KnockKnockProtocol();outputLine = kkp.processInput(null);out.println(outputLine);while ((inputLine = in.readLine()) != null) {outputLine = kkp.processInput(inputLine);out.println(outputLine);if (outputLine.equals("Bye"))break;}socket.close();} catch (IOException e) {e.printStackTrace();}這段代碼改為
查看完整描述

2 回答

?
qq_笑_17

TA貢獻1818條經驗 獲得超7個贊

首先你要清楚try(){}第一個括號里面是干什么的,這個括號在JDK1.7之前是沒有的,是1.7的新特性,括號里的內容支持包括流以及任何可關閉的資源,數據流會在 try 執行完畢后自動被關閉,而不用我們手動關閉了

查看完整回答
反對 回復 2022-02-21
?
呼喚遠方

TA貢獻1856條經驗 獲得超11個贊

因為有些代碼在編譯的時候就會檢測會不會有明顯的,也就是eclipse預定義的一些exception

所以需要你給拋出異常,你如果寫外面是不會拋出這些異常的,所以編譯時會報錯,不過你如果不想寫try里面,你可以在方法上寫Throws Exception,

這樣就可以不寫try塊

如果你非要加,可以如下這樣加,但沒什么意義


try (        PrintWriter out = new PrintWriter(socket.getOutputStream(), true);                BufferedReader in = new BufferedReader(                    new InputStreamReader(                        socket.getInputStream()));          ) {        try {            String inputLine, outputLine;            KnockKnockProtocol kkp = new KnockKnockProtocol();            outputLine = kkp.processInput(null);            out.println(outputLine);             while ((inputLine = in.readLine()) != null) {                outputLine = kkp.processInput(inputLine);                out.println(outputLine);                if (outputLine.equals("Bye"))                    break;            }            socket.close();            catch (IOException e) {            e.printStackTrace();        }        catch (IOException e) {            e.printStackTrace();        }


查看完整回答
反對 回復 2022-02-21
  • 2 回答
  • 0 關注
  • 311 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號