Java的异常处理机制是我们在学习C与C++时没有的。
异常处理一般的代码结构是这样的:
try{
//自己的代码放这(当这段代码执行发生未知错误时,就会被catch捕获)
} catch(Exception ex){
//只有捕获到有错误发生,才执行本段代码
} finally{
//不管程序是否发生错误,是否正常终止,都会执行本段代码
}
/*注:
1.Exception是Java中的异常类,每出现一个错误就会实例化一个异常对象。
2.一个异常处理中可以有多个catch
3.当出现Exception子类时,它和Exception的作用一样,是来指定特定的错误:如:NullPointException表示没有分配内存;NumberFormatException表示数据格式错误等。
*/
来看一个实例:
package javatest;
import javax.swing.JOptionPane;
public class JavaTest {
public static void main(String[] args) {//功能:输入一个半径,输出圆的面积。
try{
String str =JOptionPane.showInputDialog(null,"请输入圆的半径:");
double r = Double.parseDouble(str);
double area = Math.PI*r*r;
System.out.println("该圆的面积为:"+area);
} catch(NumberFormatException ex){
System.out.println("格式错误");
} finally{
System.out.println("程序运行完毕。");
}
}
}
正常操作:(输入数据:10)
正常输出: 错误输入:(输入:io)
结果输出: