java面对对象(下.3深入浅出理解异常)

简介: 在使用计算机语言进行项目开发的过程中,即使程序员把代码写得 尽善尽美 , 在系统的运行过程中仍然会遇到一些问题,因为很多问题不是靠代码能够避 免的,比如: 客户输入数据的格式 , 读取文件是否存在 , 网络是否始终保持 通畅 等等。

今天我们来说下java中的异常!!!


为什么想要异常这个玩意?


在使用计算机语言进行项目开发的过程中,即使程序员把代码写得 尽善尽美 , 在系统的运行过程中仍然会遇到一些问题,因为很多问题不是靠代码能够避 免的,比如: 客户输入数据的格式 , 读取文件是否存在 , 网络是否始终保持 通畅 等等。


什么是异常?



5dd22919241a4c828a0aa22f06b795c1.png


 对于这些错误,一般有两种 解决方法 :一是遇到错误就终止程序 的运行。另一种方法是由程序员在编写程序时,就考虑到错误的 检测、错误消息的提示,以及错误的处理。

 捕获错误最理想的是在 编译期间 ,但有的错误只有在 运行时 才会发生。

比如: 除数为 0 ,数组下标越界 等

 分类: 编译时异常 和 运行时异常


d400e6fa0e6e4daabbf3d049d550ca6a.pngimage.pngimage.png下面来看几个例子来理解消化一波吧:

e7760613e9884e20b66388183dfa0d94.png2db65dbb9f6f4f5d91de1a5a1b9495e9.png6a72b2f0b2a64c9b81e3a34f222f1c68.pngb62160c59d16426baf48a27a4ec8b711.png

那么怎么去处理这些异常呢?

f1b71ef92f854517b370fd9940dd6628.png


先来说第一种:


adbba397b70d46ecb08bc021e649ecc5.png7a8b3b892c46477b974e09610cb5785e.png008cf97e35204aa7bd648d99b4b82e5a.png26eeb44b7f03420c9f5544c63e7a2667.pngimage.png

下面来看几个例子来说明一下吧:

28b2e91b987f460cbfa2a5d60b5ae6a4.png


异常处理机制二:声明抛出异常


29a8a15402124cdfa2777de5288fda7d.pngbb77cd2d0fad417eab10209f74a22826.png330a75948a9b4c099362c5f34f8ce13a.png814e863aab5f4235b312816530953c65.png

异常也是一个类,那么也就因为着我们也可以去定义一个异常类


用户自定义异常类

e4397796959746b6868be4e7901a718e.png

用户自定义异常类MyException,用于描述数据取值范围错误信息。用户 自己的异常类必须继承现有的异常类。


71bb64b2237b4af0b0d3ea078f85f42e.png3e149f29b6d249ec9a30306384f7a479.png

1af63805b1b248ebac42eb7cb53f6164.png


世界上最遥远的 距离 ,是我在 if 里你在 else 里,似乎一直相伴又永远分离;

世界上最痴心的 等待 ,是我当 case 你是 switch ,或许永远都选不上自己;

世界上最真情的 相依 ,是你在 try 我在 catch 。无论你发神马脾气,我都默

默承受,静静处理。到那时,再来期待我们的 finally 。


相关文章
|
3月前
|
Java
在 Java 中捕获和处理自定义异常的代码示例
本文提供了一个 Java 代码示例,展示了如何捕获和处理自定义异常。通过创建自定义异常类并使用 try-catch 语句,可以更灵活地处理程序中的错误情况。
117 1
|
3月前
|
Java API 调度
如何避免 Java 中的 TimeoutException 异常
在Java中,`TimeoutException`通常发生在执行操作超过预设时间时。要避免此异常,可以优化代码逻辑,减少不必要的等待;合理设置超时时间,确保其足够完成正常操作;使用异步处理或线程池管理任务,提高程序响应性。
204 13
|
3月前
|
Java
在 Java 中,如何自定义`NumberFormatException`异常
在Java中,自定义`NumberFormatException`异常可以通过继承`IllegalArgumentException`类并重写其构造方法来实现。自定义异常类可以添加额外的错误信息或行为,以便更精确地处理特定的数字格式转换错误。
64 1
|
12天前
|
Java 程序员 开发者
Java社招面试题:一个线程运行时发生异常会怎样?
大家好,我是小米。今天分享一个经典的 Java 面试题:线程运行时发生异常,程序会怎样处理?此问题考察 Java 线程和异常处理机制的理解。线程发生异常,默认会导致线程终止,但可以通过 try-catch 捕获并处理,避免影响其他线程。未捕获的异常可通过 Thread.UncaughtExceptionHandler 处理。线程池中的异常会被自动处理,不影响任务执行。希望这篇文章能帮助你深入理解 Java 线程异常处理机制,为面试做好准备。如果你觉得有帮助,欢迎收藏、转发!
69 14
|
15天前
|
缓存 Java 应用服务中间件
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
46 5
|
15天前
|
存储 Java
Java中判断一个对象是否是空内容
在 Java 中,不同类型的对象其“空内容”的定义和判断方式各异。对于基本数据类型的包装类,空指对象引用为 null;字符串的空包括 null、长度为 0 或仅含空白字符,可通过 length() 和 trim() 判断;集合类通过 isEmpty() 方法检查是否无元素;数组的空则指引用为 null 或长度为 0。
|
1月前
|
Java
Java快速入门之类、对象、方法
本文简要介绍了Java快速入门中的类、对象和方法。首先,解释了类和对象的概念,类是对象的抽象,对象是类的具体实例。接着,阐述了类的定义和组成,包括属性和行为,并展示了如何创建和使用对象。然后,讨论了成员变量与局部变量的区别,强调了封装的重要性,通过`private`关键字隐藏数据并提供`get/set`方法访问。最后,介绍了构造方法的定义和重载,以及标准类的制作规范,帮助初学者理解如何构建完整的Java类。
|
1月前
|
安全 Java
Object取值转java对象
通过本文的介绍,我们了解了几种将 `Object`类型转换为Java对象的方法,包括强制类型转换、使用 `instanceof`检查类型和泛型方法等。此外,还探讨了在集合、反射和序列化等常见场景中的应用。掌握这些方法和技巧,有助于编写更健壮和类型安全的Java代码。
50 17
|
1月前
|
Java
java代码优化:判断内聚到实体对象中和构造上下文对象传递参数
通过两个常见的java后端实例场景探讨代码优化,代码不是优化出来的,而是设计出来的,我们永远不可能有专门的时间去做代码优化,优化和设计在平时
36 15
|
3月前
|
IDE 前端开发 Java
怎样避免 Java 中的 NoSuchFieldError 异常
在Java中避免NoSuchFieldError异常的关键在于确保类路径下没有不同版本的类文件冲突,避免反射时使用不存在的字段,以及确保所有依赖库版本兼容。编译和运行时使用的类版本应保持一致。
131 8

热门文章

最新文章