北京网站建设团队,wordpress sso,wordpress图片连接到无,网站制作怎么入门写在开头 任何一个程序都无法保证100%的正常运行#xff0c;程序发生故障的场景#xff0c;我们称之为#xff1a;异常#xff0c;在Java中对于异常的处理有一套完善的体系#xff0c;今天我们就来一起学习一下。老样子#xff0c;用一段简单的代码开始今天的学习。 我程序发生故障的场景我们称之为异常在Java中对于异常的处理有一套完善的体系今天我们就来一起学习一下。老样子用一段简单的代码开始今天的学习。 我“小二上代码” JavaBuild君“好嘞几位爷里面请~” 【代码示例1】 //Java中经典的算术异常
public class Test {public static void main(String[] args){System.out.println(1/0);}
}编译通过但运行时提示ArithmeticException算术异常这是典型的Java异常场景。 异常的分类 看完上面的内容想必大家对于Java中的异常已经有了一个基本的了解了其实在Java中异常的分类有很多种我们通过一个思维导图快速了解。 在Java中有个Throwable类为所有异常的祖先类其下又分为两个子类分别为Exception异常和Error错误。 Exception和Error的区别 Exception程序本身可以处理的异常可以通过catch或throw、throws进行捕获处理或抛出。 Error程序无法自处理的错误虚拟机错误、内存溢出、IO错误等。 受检查异常与非受检查异常 在Exception类下又分为两个子类Checked Exception (受检查异常) 和 Unchecked Exception (不受检查异常)。 CheckedException受检查异常范围在编译期此时若发生异常无法通过编译代码爆红。 受检查异常范围IO 相关的异常、ClassNotFoundException、SQLException等或者说除了运行时异常RuntimeException及其子类外其他的异常几乎都是受检查异常。 UncheckedException非受检查异常顾名思义即便存在该类型异常代码也可通过编译比如代码示例1中的算术异常只是会在运行时报错那它的涉及范围就好猜了没错就是RuntimeException及其子类 RuntimeException 运行时异常有下面包含了很多子类常用的有 1、NullPointerException(空指针异常)
2、IllegalArgumentException(非法参数异常)
3、NumberFormatException字符串转换为数字格式异常IllegalArgumentException的子类
4、ArrayIndexOutOfBoundsException数组越界异常
5、ClassCastException类型转换异常
6、ArithmeticException算术异常
7、SecurityException 安全错误比如权限不够
8、UnsupportedOperationException(不支持的操作异常比如重复创建同一用户)
...处理异常的2种方式 其实在上文中也已经提到了处理异常的2种方式通过catch进行捕获错误信息打印到控制台或者打印到配置好的日志系统中或者通过throws一层层的向上抛直到调用者处理这个异常。 【代码示例2】 public class Test {public static void main(String[] args) throws FileNotFoundException {String name JavaBuild;File file new File(name);//方式一throws抛出FileInputStream fileInputStream1 new FileInputStream(file);//方式二catch捕获打印至控制台try {FileInputStream fileInputStream2 new FileInputStream(file);} catch (FileNotFoundException e) {e.printStackTrace();}}
} 文章转载自JavaBuild 原文链接https://www.cnblogs.com/JavaBuild/p/18002488 体验地址引迈 - JNPF快速开发平台_低代码开发平台_零代码开发平台_流程设计器_表单引擎_工作流引擎_软件架构