异常应用Exception
文章目录
- 异常处理
- 异常的定义
- 常见的异常
- 异常的处理方式
- 自定义异常
异常处理
目前碰到的几种异常
下标越界异常
空指针异常
类型转换异常
数字格式化异常
算术异常(数学异常)
编程界的几种异常
除数为0,数学异常
IO流,输入输出没有关闭
停电,物理异常
当一个程序抛出异常时,抛异常后面的语句不再执行
类似于return的功能,将会终止方法的执行
异常的定义
异常指不期而至的各种状况,如:文件找不到、网络连接失败、除0操作、非法参数等。 异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程。
常见的异常
算术异常类:ArithmeticExecption
空指针异常类:NullPointerException
类型强制转换异常:ClassCastException
数组负下标异常:NegativeArrayException
数组下标越界异常:ArrayIndexOutOfBoundsException
符串转换为数字异常:NumberFormatException
操作数据库异常:SQLException
异常的处理方式
1.try…catch方法处理异常,如下所示:
public class Demo {
public static void main(String[] args) {
try{
int a = 5/0;
}catch (ArithmeticException e){
//ArithmeticException 算术异常
System.out.println("除数不能为0");
}
}
}
运行结果:
2.throws扔出异常,将异常抛出去留给JVM处理异常
public class Demo {
public static void main(String[] args) throws ArithmeticException{
int a = 5/0;
}
}
- try…catch…finally finally中的代码块不管是否捕获异常都会执行,常用来放一些关闭数据库资源的方法。
自定义异常
在这里我们自定义一个异常:
public class MyException extends Exception{
//自定义异常
public MyException(){
super();
}
public MyException(String message){
super(message);
}
}
在我们需要调用该异常时需要用到throw和throws关键字,如下所示:
public class Demo {
public static void main(String[] args) throws MyException{//抛出自定义异常
int number = 0;
if (number==0){
throw new MyException("这是一个自定义异常");
}
}
}
qq_39373834:
ly_canda: Or paste this link into your browser. https://www.pornhub.com If you didn’t sign up for Pornhub, please ignore this email. Thanks, The Pornhub Team
ly_canda: 真菜啊
qq_39373834: 引用「我对自己我明确地认知我自己知道我并不聪明」 写的很好,下次记得用逗号断句!
猛吃华夫饼: 很有想法