Java中异常的概念及异常的形式存在
程序员文章站
2022-10-18 18:19:57
异常的基本概念什么是异常?java提供异常机制有什么用?程序代码在执行的过程中,发生了不正确的情况而停止程序,这种情况叫做:异常。java提供异常机制,在发生了异常时,会把异常信息输出在控制台,我们发现后,可以定位到代码中,继续修改完善代码。提高程序的健壮性。如果发生了异常,JVM却一声不吭,这对我们发现程序的错误就很难。测试代码:public class Test01 { public static void main(String[] args) { // 如果我们这...
异常的基本概念
什么是异常?java提供异常机制有什么用?
程序代码在执行的过程中,发生了不正确的情况而停止程序,这种情况叫做:异常。
java提供异常机制,在发生了异常时,会把异常信息输出在控制台,我们发现后,可以定位到代码中,继续修改完善代码。提高程序的健壮性。
如果发生了异常,JVM却一声不吭,这对我们发现程序的错误就很难。
测试代码:
public class Test01 {
public static void main(String[] args) {
// 如果我们这样写代码
/*int a = 10;
int b = 0;
int c = a / b;
System.out.println(c);*/
// 发现程序给我们抛出了异常:java.lang.ArithmeticException: / by zero
// 我们发现后明白程序有问题,继续修改
int a = 10;
int b = 0;
if (b == 0)
{
System.out.println("除数不能为0!");
return;
}
int c = a/b;
System.out.println(c);
}
}
————————————————————————————
java中异常是以什么形式存在的呢?
我们发现java.lang包下,有很多对象都是关于异常的对象。
例如:NullPointerException(空指针异常):
public class NullPointerException extends RuntimeException { }
NumberFormatException(数字格式化异常):
public class NumberFormatException extends IllegalArgumentException { }
它们都是类,public class的,没有加其他修饰符,就是个普通的类,类中也有构造方法。
异常类对应生活中的现象:
火灾(这相当于一个异常类):
2008年8月8日,小明家着火了。(这个相当于火灾的一个实例,是一个对象)
2008年8月9日,小刚家着火了。(这个相当于火灾的另一个实例)
类是模板,对象是类的实例。
测试代码:
public class Test02 {
public static void main(String[] args) {
// 我们来通过构造方法实例化一个异常类
NullPointerException npe = new NullPointerException("我是一个空指针异常的类");
// 抛出异常类的信息,也就是打印异常类的信息
System.out.println(npe); // java.lang.NullPointerException: 我是一个空指针异常的类
// 所以我们知道抛出异常信息一定要实例化一个异常对象
// 我们继续探讨除0的代码
// 执行这段代码会在执行完int c = a / b;后程序异常停止,并抛出了异常信息
int a = 10;
int b = 0;
int c = a / b; //实际上JVM在这里发现除数b的值是0,开始实例化了一个ArithmeticException类(算术异常类)
// 相当于执行了下面2行代码,JVM停止了程序的运行
//ArithmeticException ae = new ArithmeticException("/ by zero");
//System.out.println(ae);
System.out.println(c); // java.lang.ArithmeticException: / by zero
}
}
本文地址:https://blog.csdn.net/pipizhen_/article/details/107387117