通过异常,打造Java高级程序员

Java异常为什么要这样设计,还专门有老师特殊讲课了,还不会,感觉这个异常章节就不应该讲。学了不用,还学它干什么,浪费时间。

其实让程序更牛逼健壮一点,处理好异常问题,就可以达到效果。

编写程序的开发过程中可能有很多出错的情况,出错的原因可能是多方面的,有的是不可控的内部原因,比如内存不够了、磁盘满了,有的是不可控的外部原因,比如网络连接有问题,更多的可能是程序的编写错误,比如引用变量未初始化就直接调用实例方法。

这些非正常情况在导致Java程序报错无法正常预期往下运行,我们这种错误统一认为是异常,Java使用异常机制来统一处理。

有经验的程序员经常提前预知了异常问题发生,他们会把程序可能发生的问题设计好,规划好,让它发生,让它时执行自己的预案,其实就是通过异常的机制处理程序就行,这样你的程序就不会报错了,容错率就很高,这就是程序

Java异常是在Java程序运行时发生的一种特殊情况,它会中断程序的正常执行,并向调用者抛出一个异常对象,以提示出现了特殊情况。

Java异常可以分为两大类:

- 编译时异常(Checked Exception):编译时异常也叫受检异常,是指在编译Java程序时就能够发现的异常。例如:IOException、SQLException等;

- 运行时异常(Unchecked Exception):运行时异常也叫未检查异常,是指在编译Java程序时无法发现的异常,只有在运行时才能够发现的异常。例如:NullPointerException、ArrayIndexOutOfBoundsException等。

public static void main(String[] args) {

String s = null;

s.indexOf("a");

System.out.println("end");

}

当执行s.indexOf("a")的时候,Java虚拟机发现s的值为null,没有办法继续执行了,这时就启用异常处理机制,首先创建一个异常对象,这里是类NullPointerException的对象,然后查找看谁能处理这个异常。

public static void main(String[] args) {

if(args.length<1){

System.out.println("请输入数字");

return;

}

try{

int num = Integer.parseInt(args[0]);

System.out.println(num);

}catch(NumberFormatException e){

System.err.println("参数" + args[0] + "不是有效的数字,请输入数字");

}

}

使用try/catch捕获并处理了异常。对于一个初学者经常遇上程序报错,可能就不知道为什么,实际理解每个异常的意思,就不害怕了,同时了解了背后的含义及用法。

Java常见异常如下:

1)NullPointerException:空指针异常,当试图在需要对象的地方使用 null 时,抛出该异常。

2)ClassNotFoundException:找不到类异常,当 Java 程序试图加载一个不存在的类时,抛出该异常。

3) ArithmeticException:算术异常,当程序运行时发生算术错误,比如除数为 0 时,抛出该异常。

4)ArrayIndexOutOfBoundsException:数组越界异常,当尝试访问数组中不存在的索引时,抛出该异常。

5) NumberFormatException:数字格式异常,当尝试将字符串转换为数字类型时,如果字符串不能转换,抛出该异常。

6) IllegalArgumentException:非法参数异常,当向方法传递不正确的参数时,抛出该异常。

7) IOException:输入/输出异常,当处理输入/输出时发生错误时,抛出该异常。


展开阅读全文

页面更新:2024-05-04

标签:异常   算术   对象   机制   错误   发生   情况   发现   数字   高级程序员   程序

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top