java异常
2022/7/4 1:23:39
本文主要是介绍java异常,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
异常
异常Exception:在程序中发生与预期不相符状况
分类
-
检查性异常:程序员不好预料到的异常
-
运行时异常:运行过程中出现异常,可以在编译过程中被忽略,最容易被避免的异常
-
错误ERROR:不是程序员可以控制的,错误在代码中被忽略
Java中将异常当作一个对象处理,定义java.lang.Throwable为所有异常的超类
错误
-
是程序员控制能力范围之外的
-
错误是由虚拟机JVM抛出的,错误发生后JVM选择线程终止
异常
-
分为运行时异常和非运行时异常
-
运行时异常:一般是由程序逻辑错误引起的,程序员从逻辑角度尽量避免这类异常
区别
错误:毁灭性的,出现错误之后JVM会将线程直接关闭
异常:是被处理的,通过逻辑检查,规避异常
异常捕获和抛出
捕获异常:
try{ //检查异常 }catch(异常类型 异常名){ //捕获异常 }finally{ //善后工作,无论有没有异常都会执行,一般可以进行关闭文件等操作 }
在catch中可以捕获多个异常:
try{ }catch(Exception a){ System.out.println("Exception"); }catch(Throwable t){ System.out.println("Throwable"); }
注意:catch中有多个异常类型时,要从低到高的
抛出异常:1. 使用throw主动抛出异常
try{
if(){
throw new Exception(); //主动抛出异常
}
}
2.使用throws在方法中抛出异常
public void run() throws Exception{ System.out.println("run"); }
注意:1.当方法体中的异常不能在该方法中被处理时,就要在方法上使用throws抛出异常。
2.调用该方法时还要用try/catch捕获异常,使程序虽然遇到异常,但依然可以运行
自定义异常
正常情况下,90%的异常都在Exception类里面写好了
-
创建异常类继承Exception
-
throw抛出异常
-
调用时,try/catch捕获异常
package oop1; import java.util.Scanner; public class test3 { static void run(int id) throws MyException { if (id==17) { throw new MyException(id); } System.out.println("ok"); } public static void main(String[] agrs) throws MyException { Scanner in =new Scanner(System.in); int id=in.nextInt(); run(id); } } //自定义异常类 public class MyException extends Exception{ private int id; public MyException(int id){ this.id=17; } @Override public String toString(){ return "MyException:{"+id+"}"; } }
异常注意
-
代码运行时,尽量使用try/catch捕获异常,避免程序终止
-
在catch中捕获异常时,最好在最后加一个Exception,防止漏掉一些小异常
-
捕获异常后,尽量去解决异常,而不是单纯的打印出该异常
-
对于不确定的代码也可以加try/catch捕获潜在异常
-
尽量添加finally释放资源空间
这篇关于java异常的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南