Java编程之异常

简介: 处理异常不是 异常消失了 处理异常指的是 处理掉异常之后 后续的代码不会因为此异常而终止执行 两种手段 try{}catch(){}[ finally{} ] 1.try不能单独的出现 2.后面必须添加catch或finally 3.catch有一组括号 (NullPointerException) 目的是为了捕获某一种异常 4.catch可以有很多个存在 捕获的异常之间没有任何的继承关系 捕获的异常需要从小到大进行捕获 5.finally不是必须存在的 若存在fin

## 添加处理异常的手段

   处理异常不是   异常消失了

   处理异常指的是   处理掉异常之后

   后续的代码不会因为此异常而终止执行

   两种手段

   try{}catch(){}[ finally{} ]

   1.try不能单独的出现

   2.后面必须添加catch或finally

   3.catch有一组括号 (NullPointerException) 目的是为了捕获某一种异常

   4.catch可以有很多个存在

       捕获的异常之间没有任何的继承关系

       捕获的异常需要从小到大进行捕获

   5.finally不是必须存在的

       若存在finally结构  则必须执行

       引申一个小问题:   final   finally  finalize区别

       final  特征修饰符  修饰变量 属性 方法 类

       修饰变量 基本类型 值不能改变 引用类型  

       修饰属性 特点与修饰变量类似 (要求必须给属性赋初始值 否则编译报错)

       修饰方法 不能被子类重写

       修饰类    不能被其他的子类继承

       finally 处理异常手段的一部分

try{}catch(){}后面的一个部分

       这个部分可有可无  如果有只能含有一份 且必须执行

       finalize 是Object类中的一个protected方法

       对象没有任何引用指向的时候 -- 会被GC回收

       当对象回收的时候 默认调用finalize方法

       若想要看到对象回收的效果  可以重写 public void finalize(){}

   6.处理异常放在方法内部 可能还会有小问题

       如果在方法内部含有返回值

       不管返回值return关键字在哪里   finally一定会执行完毕

       返回值的具体结果   看情况

## throws抛出

   1.异常只能在方法上抛出  属性是不能处理异常的

   2.方法  构造

   3.方法可以抛出不止一个异常  通过,隔开

   4.抛出的异常与多个catch类似  要么没关系 要么先抛出小异常

## Throwable的分支

   Exception   Error

   运行时

   编译时

   两种处理异常的手段 try  throws

   常用的运行时异常  后续见到的编译时异常

   我们也可以自己创建异常----自定义异常

   1.自己描述一个异常的类

   2.让我们自己的类继承

       如果继承是RuntimeException---->运行时异常(不需要必须添加处理手段)

       如果继承是Exception-------------->编译时异常(必须添加处理手段)

   3.创建一个当前自定义异常类的对象

       通过throw关键字  主动产生异常

   4.当我们设计描述的方法(事情)  之前没有相关的异常能描述我的问题Box

       这个时候才会利用自定义异常来描述

目录
打赏
0
0
0
0
1
分享
相关文章
k8s的出现解决了java并发编程胡问题了
Kubernetes通过提供自动化管理、资源管理、服务发现和负载均衡、持续交付等功能,有效地解决了Java并发编程中的许多复杂问题。它不仅简化了线程管理和资源共享,还提供了强大的负载均衡和故障恢复机制,确保应用程序在高并发环境下的高效运行和稳定性。通过合理配置和使用Kubernetes,开发者可以显著提高Java应用程序的性能和可靠性。
65 31
【YashanDB知识库】yasdb jdbc驱动集成BeetISQL中间件,业务(java)报autoAssignKey failure异常
在BeetISQL 2.13.8版本中,客户使用batch insert向yashandb表插入数据并尝试获取自动生成的sequence id时,出现类型转换异常。原因是beetlsql在prepareStatement时未指定返回列,导致yashan JDBC驱动返回rowid(字符串),与Java Bean中的数字类型tid不匹配。此问题影响业务流程,使无法正确获取sequence id。解决方法包括:1) 在batchInsert时不返回自动生成的sequence id;2) 升级至BeetISQL 3,其已修正该问题。
【YashanDB知识库】yasdb jdbc驱动集成BeetISQL中间件,业务(java)报autoAssignKey failure异常
注解的艺术:Java编程的高级定制
注解是Java编程中的高级特性,通过内置注解、自定义注解及注解处理器,可以实现代码的高度定制和扩展。通过理解和掌握注解的使用方法,开发者可以提高代码的可读性、可维护性和开发效率。在实际应用中,注解广泛用于框架开发、代码生成和配置管理等方面,展示了其强大的功能和灵活性。
66 25
Java编程中的异常处理:从基础到高级
在Java的世界中,异常处理是代码健壮性的守护神。本文将带你从异常的基本概念出发,逐步深入到高级用法,探索如何优雅地处理程序中的错误和异常情况。通过实际案例,我们将一起学习如何编写更可靠、更易于维护的Java代码。准备好了吗?让我们一起踏上这段旅程,解锁Java异常处理的秘密!
在线编程实现!如何在Java后端通过DockerClient操作Docker生成python环境
以上内容是一个简单的实现在Java后端中通过DockerClient操作Docker生成python环境并执行代码,最后销毁的案例全过程,也是实现一个简单的在线编程后端API的完整流程,你可以在此基础上添加额外的辅助功能,比如上传文件、编辑文件、查阅文件、自定义安装等功能。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
在线编程实现!如何在Java后端通过DockerClient操作Docker生成python环境
【YashanDB知识库】yasdb jdbc驱动集成druid连接池,业务(java)日志中有token IDENTIFIER start异常
客户Java日志中出现异常,影响Druid的merge SQL功能(将SQL字面量替换为绑定变量以统计性能),但不影响正常业务流程。原因是Druid在merge SQL时传入null作为dbType,导致无法解析递归查询中的`start`关键字。
Java社招面试题:一个线程运行时发生异常会怎样?
大家好,我是小米。今天分享一个经典的 Java 面试题:线程运行时发生异常,程序会怎样处理?此问题考察 Java 线程和异常处理机制的理解。线程发生异常,默认会导致线程终止,但可以通过 try-catch 捕获并处理,避免影响其他线程。未捕获的异常可通过 Thread.UncaughtExceptionHandler 处理。线程池中的异常会被自动处理,不影响任务执行。希望这篇文章能帮助你深入理解 Java 线程异常处理机制,为面试做好准备。如果你觉得有帮助,欢迎收藏、转发!
151 14
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
272 5
课时6:Java编程起步
课时6:Java编程起步,主讲人李兴华。课程摘要:介绍Java编程的第一个程序“Hello World”,讲解如何使用记事本或EditPlus编写、保存和编译Java源代码(*.java文件),并解释类定义、主方法(public static void main)及屏幕打印(System.out.println)。强调类名与文件名一致的重要性,以及Java程序的编译和执行过程。通过实例演示,帮助初学者掌握Java编程的基本步骤和常见问题。
Java 并发编程——volatile 关键字解析
本文介绍了Java线程中的`volatile`关键字及其与`synchronized`锁的区别。`volatile`保证了变量的可见性和一定的有序性,但不能保证原子性。它通过内存屏障实现,避免指令重排序,确保线程间数据一致。相比`synchronized`,`volatile`性能更优,适用于简单状态标记和某些特定场景,如单例模式中的双重检查锁定。文中还解释了Java内存模型的基本概念,包括主内存、工作内存及并发编程中的原子性、可见性和有序性。
115 5
Java 并发编程——volatile 关键字解析
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等