什麼是在java中正確的方法來處理方法參數/內部錯誤?Java錯誤處理,處理這個問題的正確方法是什麼?
所有這三個方法都做同樣的事情,第二個方法中的異常也有一個「引起」部分。
請不要在第三種方法中,每次我想退出時都必須重複返回。
考慮一下,在java中異常處理是非常昂貴的(我讀過這個地方)。
謝謝!
public static String method(String arg) {
block: {
if (arg == null) {
logger.error("arg is null");
break block;
}
try {
...
return "ok";
} catch (Exception e)
logger.error("help!", e);
}
}
return "ko";
}
public static String method(String arg) {
try {
if (arg == null) {
throw new Exception("arg is null");
}
...
return "ok";
} catch (Exception e) {
logger.error("help!", e);
return "ko";
}
}
public static String method(String arg) {
String result = "ko";
if (arg == null) {
logger.error("arg is null");
return result;
}
try {
..
result = "ok";
} catch(Exception e) {
logger.error("help!", e);
}
return result;
}
編輯: 此外,在第二種方法,可以使用的RuntimeException(或者自定義),壞主意區分內部方法錯誤?
拋出一個異常並用相同的方法捕捉它是沒有意義的,只有幾行。否則,第一和第三方案之間的選擇是個人偏好(以及其他設計壓力)之一。 –
我會讓方法拋出異常 – Leo