4.1 什么是例外
例外就是在程序的運行過程中所發(fā)生的異常事件,它中斷指令的正常執(zhí)行。Java中提供了一種獨特的處理例外的機制,通過例外來處理程序設(shè)計中出現(xiàn)的錯誤。
4.1.1 例外示例
【例4-1】
import java.io.*;
class ExceptionDemo1{
public static void main( String args[ ] ){
FileInputStream fis = new FileInputStream( "text" );
int b;
while( (b=fis.read())!=-1 ){
System.out.print( b );
}
fis.close( );
}
}
查看編譯結(jié)果
【例4-2】
class ExceptionDemo2{
public static void main( String args[ ] ){
int a = 0;
System.out.println( 5/a );
}
}
運行結(jié)果
C:\>javac ExceptionDemo2.java
C:\>java ExceptionDemo2
java.lang.ArithmeticException: / by zero at
ExceptionDemo2.main(ExceptionDemo2.java:4)
因為除數(shù)不能為0,所以在程序運行的時候出現(xiàn)了除0溢出的異常事件。為什么有的例外在編譯時出現(xiàn),而有的例外是在運行時出現(xiàn)的?讓我們繼續(xù)學習java 的例外處理機制。 來源:www.examda.com
4.1.2 例外處理機制
拋棄(throw)例外:
在Java程序的執(zhí)行過程中,如果出現(xiàn)了異常事件,就會生成一個例外對象。生成的例外對象將傳遞給Java運行時系統(tǒng),這一例外的產(chǎn)生和提交過程稱為拋棄(throw)例外
例外就是在程序的運行過程中所發(fā)生的異常事件,它中斷指令的正常執(zhí)行。Java中提供了一種獨特的處理例外的機制,通過例外來處理程序設(shè)計中出現(xiàn)的錯誤。
4.1.1 例外示例
【例4-1】
import java.io.*;
class ExceptionDemo1{
public static void main( String args[ ] ){
FileInputStream fis = new FileInputStream( "text" );
int b;
while( (b=fis.read())!=-1 ){
System.out.print( b );
}
fis.close( );
}
}
查看編譯結(jié)果
【例4-2】
class ExceptionDemo2{
public static void main( String args[ ] ){
int a = 0;
System.out.println( 5/a );
}
}
運行結(jié)果
C:\>javac ExceptionDemo2.java
C:\>java ExceptionDemo2
java.lang.ArithmeticException: / by zero at
ExceptionDemo2.main(ExceptionDemo2.java:4)
因為除數(shù)不能為0,所以在程序運行的時候出現(xiàn)了除0溢出的異常事件。為什么有的例外在編譯時出現(xiàn),而有的例外是在運行時出現(xiàn)的?讓我們繼續(xù)學習java 的例外處理機制。 來源:www.examda.com
4.1.2 例外處理機制
拋棄(throw)例外:
在Java程序的執(zhí)行過程中,如果出現(xiàn)了異常事件,就會生成一個例外對象。生成的例外對象將傳遞給Java運行時系統(tǒng),這一例外的產(chǎn)生和提交過程稱為拋棄(throw)例外