å¨ Java åºç¨ç¨åºä¸ï¼å¼å¸¸å¤çæºå¶ä¸ºï¼æåºå¼å¸¸ï¼ææå¼å¸¸ã
æåºå¼å¸¸ï¼å½ä¸ä¸ªæ¹æ³åºç°é误å¼åå¼å¸¸æ¶ï¼æ¹æ³å建å¼å¸¸å¯¹è±¡å¹¶äº¤ä»è¿è¡æ¶ç³»ç»ï¼å¼å¸¸å¯¹è±¡ä¸å
å«äºå¼å¸¸ç±»ååå¼å¸¸åºç°æ¶çç¨åºç¶æçå¼å¸¸ä¿¡æ¯ãè¿è¡æ¶ç³»ç»è´è´£å¯»æ¾å¤ç½®å¼å¸¸ç代ç 并æ§è¡ã
æè·å¼å¸¸ï¼å¨æ¹æ³æåºå¼å¸¸ä¹åï¼è¿è¡æ¶ç³»ç»å°è½¬ä¸ºå¯»æ¾åéçå¼å¸¸å¤çå¨ï¼exception handlerï¼ãæ½å¨çå¼å¸¸å¤çå¨æ¯å¼å¸¸åçæ¶ä¾æ¬¡åçå¨è°ç¨æ ä¸çæ¹æ³çéåãå½å¼å¸¸å¤çå¨æè½å¤ççå¼å¸¸ç±»åä¸æ¹æ³æåºçå¼å¸¸ç±»åç¸ç¬¦æ¶ï¼å³ä¸ºåé çå¼å¸¸å¤çå¨ãè¿è¡æ¶ç³»ç»ä»åçå¼å¸¸çæ¹æ³å¼å§ï¼ä¾æ¬¡åæ¥è°ç¨æ ä¸çæ¹æ³ï¼ç´è³æ¾å°å«æåéå¼å¸¸å¤çå¨çæ¹æ³å¹¶æ§è¡ãå½è¿è¡æ¶ç³»ç»éåè°ç¨æ èæªæ¾å°åé çå¼å¸¸å¤çå¨ï¼åè¿è¡æ¶ç³»ç»ç»æ¢ãåæ¶ï¼æå³çJavaç¨åºçç»æ¢ã
对äºè¿è¡æ¶å¼å¸¸ãé误æå¯æ¥å¼å¸¸ï¼Javaææ¯æè¦æ±çå¼å¸¸å¤çæ¹å¼ææä¸åã
ç±äºè¿è¡æ¶å¼å¸¸çä¸å¯æ¥æ§ï¼ä¸ºäºæ´åçãæ´å®¹æå°å®ç°åºç¨ç¨åºï¼Javaè§å®ï¼è¿è¡æ¶å¼å¸¸å°ç±Javaè¿è¡æ¶ç³»ç»èªå¨æåºï¼å
许åºç¨ç¨åºå¿½ç¥è¿è¡æ¶å¼å¸¸ã
对äºæ¹æ³è¿è¡ä¸å¯è½åºç°çErrorï¼å½è¿è¡æ¹æ³ä¸æ¬²æææ¶ï¼Javaå
许该æ¹æ³ä¸åä»»ä½æåºå£°æãå 为ï¼å¤§å¤æ°Errorå¼å¸¸å±äºæ°¸è¿ä¸è½è¢«å
许åççç¶åµï¼ä¹å±äºåççåºç¨ç¨åºä¸è¯¥ææçå¼å¸¸ã
对äºææçå¯æ¥å¼å¸¸ï¼Javaè§å®ï¼ä¸ä¸ªæ¹æ³å¿
é¡»ææï¼æè
声ææåºæ¹æ³ä¹å¤ãä¹å°±æ¯è¯´ï¼å½ä¸ä¸ªæ¹æ³éæ©ä¸ææå¯æ¥å¼å¸¸æ¶ï¼å®å¿
须声æå°æåºå¼å¸¸ã
è½å¤ææå¼å¸¸çæ¹æ³ï¼éè¦æä¾ç¸ç¬¦ç±»åçå¼å¸¸å¤çå¨ãæææçå¼å¸¸ï¼å¯è½æ¯ç±äºèªèº«è¯å¥æå¼å并æåºçå¼å¸¸ï¼ä¹å¯è½æ¯ç±æ个è°ç¨çæ¹æ³æè
Javaè¿è¡æ¶ ç³»ç»çæåºçå¼å¸¸ãä¹å°±æ¯è¯´ï¼ä¸ä¸ªæ¹æ³æè½ææçå¼å¸¸ï¼ä¸å®æ¯Java代ç å¨æå¤ææåºçå¼å¸¸ãç®åå°è¯´ï¼å¼å¸¸æ»æ¯å
被æåºï¼å被ææçã
ä»»ä½Java代ç é½å¯ä»¥æåºå¼å¸¸ï¼å¦ï¼èªå·±ç¼åç代ç ãæ¥èªJavaå¼åç¯å¢å
ä¸ä»£ç ï¼æè
Javaè¿è¡æ¶ç³»ç»ãæ 论æ¯è°ï¼é½å¯ä»¥éè¿Javaçthrowè¯å¥æåºå¼å¸¸ã
ä»æ¹æ³ä¸æåºçä»»ä½å¼å¸¸é½å¿
须使ç¨throwsåå¥ã
ææå¼å¸¸éè¿try-catchè¯å¥æè
try-catch-finallyè¯å¥å®ç°ã
æ»ä½æ¥è¯´ï¼Javaè§å®ï¼å¯¹äºå¯æ¥å¼å¸¸å¿
é¡»ææãæè
声ææåºãå
许忽ç¥ä¸å¯æ¥çRuntimeExceptionåErrorã
4.1 æè·å¼å¸¸ï¼tryãcatch å finally
1.try-catchè¯å¥
å¨Javaä¸ï¼å¼å¸¸éè¿try-catchè¯å¥æè·ãå
¶ä¸è¬è¯æ³å½¢å¼ä¸ºï¼
try {
// å¯è½ä¼åçå¼å¸¸çç¨åºä»£ç
} catch (Type1 id1){
// æè·å¹¶å¤ç½®tryæåºçå¼å¸¸ç±»åType1
}
catch (Type2 id2){
//æè·å¹¶å¤ç½®tryæåºçå¼å¸¸ç±»åType2
}
å
³é®è¯tryåçä¸å¯¹å¤§æ¬å·å°ä¸åå¯è½åçå¼å¸¸ç代ç å
èµ·æ¥ï¼ç§°ä¸ºçæ§åºåãJavaæ¹æ³å¨è¿è¡è¿ç¨ä¸åºç°å¼å¸¸ï¼åå建å¼å¸¸å¯¹è±¡ãå°å¼å¸¸æåºçæ§åºåä¹ å¤ï¼ç±Javaè¿è¡æ¶ç³»ç»è¯å¾å¯»æ¾å¹é
çcatchåå¥ä»¥æè·å¼å¸¸ãè¥æå¹é
çcatchåå¥ï¼åè¿è¡å
¶å¼å¸¸å¤ç代ç ï¼try-catchè¯å¥ç»æã
å¹é
çååæ¯ï¼å¦ææåºçå¼å¸¸å¯¹è±¡å±äºcatchåå¥çå¼å¸¸ç±»ï¼æè
å±äºè¯¥å¼å¸¸ç±»çåç±»ï¼å认为çæçå¼å¸¸å¯¹è±¡ä¸catchåæè·çå¼å¸¸ç±»åç¸å¹é
ã
ä¾1 ææthrowè¯å¥æåºçâé¤æ°ä¸º0âå¼å¸¸ã
public class TestException {
public static void main(String[] args) {
int a = 6;
int b = 0;
try { // tryçæ§åºå
if (b == 0) throw new ArithmeticException(); // éè¿throwè¯å¥æåºå¼å¸¸
System.out.println("a/bçå¼æ¯ï¼" + a / b);
}
catch (ArithmeticException e) { // catchææå¼å¸¸
System.out.println("ç¨åºåºç°å¼å¸¸ï¼åébä¸è½ä¸º0ã");
}
System.out.println("ç¨åºæ£å¸¸ç»æã");
}
}
è¿è¡ç»æï¼ç¨åºåºç°å¼å¸¸ï¼åébä¸è½ä¸º0ã
ç¨åºæ£å¸¸ç»æã
ä¾1 å¨tryçæ§åºåéè¿ifè¯å¥è¿è¡å¤æï¼å½âé¤æ°ä¸º0âçé误æ¡ä»¶æç«æ¶å¼åArithmeticExceptionå¼å¸¸ï¼å建 ArithmeticExceptionå¼å¸¸å¯¹è±¡ï¼å¹¶ç±throwè¯å¥å°å¼å¸¸æç»Javaè¿è¡æ¶ç³»ç»ï¼ç±ç³»ç»å¯»æ¾å¹é
çå¼å¸¸å¤çå¨catch并è¿è¡ç¸åºå¼ 常å¤ç代ç ï¼æå°è¾åºâç¨åºåºç°å¼å¸¸ï¼åébä¸è½ä¸º0ãâtry-catchè¯å¥ç»æï¼ç»§ç»ç¨åºæµç¨ã
äºå®ä¸ï¼âé¤æ°ä¸º0âçArithmeticExceptionï¼æ¯RuntimExceptionçåç±»ãèè¿è¡æ¶å¼å¸¸å°ç±è¿è¡æ¶ç³»ç»èªå¨æåºï¼ä¸éè¦ä½¿ç¨throwè¯å¥ã
ä¾2 ææè¿è¡æ¶ç³»ç»èªå¨æåºâé¤æ°ä¸º0âå¼åçArithmeticExceptionå¼å¸¸ã
public static void main(String[] args) {
int a = 6;
int b = 0;
try {
System.out.println("a/bçå¼æ¯ï¼" + a / b);
} catch (ArithmeticException e) {
System.out.println("ç¨åºåºç°å¼å¸¸ï¼åébä¸è½ä¸º0ã");
}
System.out.println("ç¨åºæ£å¸¸ç»æã");
}
}
è¿è¡ç»æï¼ç¨åºåºç°å¼å¸¸ï¼åébä¸è½ä¸º0ã
ç¨åºæ£å¸¸ç»æã
ä¾2 ä¸çè¯å¥ï¼
System.out.println("a/bçå¼æ¯ï¼" + a/b);
å¨è¿è¡ä¸åºç°âé¤æ°ä¸º0âé误ï¼å¼åArithmeticExceptionå¼å¸¸ãè¿è¡æ¶ç³»ç»å建å¼å¸¸å¯¹è±¡å¹¶æåºçæ§åºåï¼è½¬èå¹é
åéçå¼å¸¸å¤çå¨catchï¼å¹¶æ§è¡ç¸åºçå¼å¸¸å¤ç代ç ã
ç±äºæ£æ¥è¿è¡æ¶å¼å¸¸ç代价è¿å¤§äºææå¼å¸¸æ带æ¥ççå¤ï¼è¿è¡æ¶å¼å¸¸ä¸å¯æ¥ãJavaç¼è¯å¨å
许忽ç¥è¿è¡æ¶å¼å¸¸ï¼ä¸ä¸ªæ¹æ³å¯ä»¥æ¢ä¸ææï¼ä¹ä¸å£°ææåºè¿è¡æ¶å¼å¸¸ã
ä¾3 ä¸ææãä¹ä¸å£°ææåºè¿è¡æ¶å¼å¸¸ã
public class TestException {
public static void main(String[] args) {
int a, b;
a = 6;
b = 0; // é¤æ°b çå¼ä¸º0
System.out.println(a / b);
}
}
è¿è¡ç»æï¼
Exception in thread "main" java.lang.ArithmeticException: / by zero
at Test.TestException.main(TestException.java:8)
ä¾4 ç¨åºå¯è½åå¨é¤æ°ä¸º0å¼å¸¸åæ°ç»ä¸æ è¶çå¼å¸¸ã
public class TestException {
public static void main(String[] args) {
int[] intArray = new int[3];
try {
for (int i = 0; i <= intArray.length; i++) {
intArray[i] = i;
System.out.println("intArray[" + i + "] = " + intArray[i]);
System.out.println("intArray[" + i + "]模 " + (i - 2) + "çå¼: "
+ intArray[i] % (i - 2));
}
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("intArrayæ°ç»ä¸æ è¶çå¼å¸¸ã");
} catch (ArithmeticException e) {
System.out.println("é¤æ°ä¸º0å¼å¸¸ã");
}
System.out.println("ç¨åºæ£å¸¸ç»æã");
}
}
è¿è¡ç»æï¼
intArray[0] = 0
intArray[0]模 -2çå¼: 0
intArray[1] = 1
intArray[1]模 -1çå¼: 0
intArray[2] = 2
é¤æ°ä¸º0å¼å¸¸ã
ç¨åºæ£å¸¸ç»æã
温馨提示:答案为网友推荐,仅供参考