是我的代碼在try catch塊中返回的更好用法是什麼?所以下面
private String downloadContents (String urlPath){
StringBuffer stringBuffer = new StringBuffer();
try {
URL url = new URL (urlPath);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
int response = connection.getResponseCode();
Log.d("DownloadData", "Response code was " + response);
InputStream is = connection.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
int numChar;
char[] readBuffer = new char [500];
while (true){
numChar = isr.read(readBuffer);
if (numChar <= 0){
break;
}
stringBuffer.append(readBuffer);
}
}
catch (Exception e) {
e.printStackTrace();
}
return stringBuffer.toString();
}
}
我想知道如果把return stringBuffer.toString();
只是try塊結束前和結束時返回空StringBuffer的是在整個方法的更好的結局,或者如果return stringBuffer.toString();
會更好。
即使我在整個方法的末尾放了stringBuffer.toString();
,我仍然認爲如果在簡單代碼的情況下構造了stringBuffer
之前發生了一些錯誤,它可能仍會返回null。這兩個職位有什麼優點或缺點?什麼是返回try catch塊最「正統」的方法?
因爲如果在塊中引發錯誤,該方法將返回一個空字符串,而不是'null' – Michael
您的方法不會返回null,因爲在構造'StringBuffer'之前沒有任何東西可能出錯。如果發生錯誤,你將返回一個空字符串,這真的是你想要做的嗎? – tddmonkey
啊是的,這是我的壞我不是故意說空,而是說空 – Jchoi