首页 > 编程语言 >java异常

java异常

时间:2022-09-28 18:33:33浏览次数:58  
标签:语句 return 代码 try finally java 异常

西二旗是一个恐怖的地铁站,光排队得排很久。

只要写代码就存在bug,唯一一个不出bug得方法就是不写代码。

异常:在程序的运行过程中,出现的不正常情况叫做异常.

注意:1.相同的代码在运行的时候,根据输入的参数或者操作的不同,有可能会发生异常,有可能不会发生异常,应该再写带过的过程中尽可能的保证代码的正确性,不要到处写bug。

      2.如果要解决代码中出现的异常,需要添加非常复杂的逻辑来进行判断,会使代码变得非常复杂,臃肿,因此,推荐大家使用异常机制来处理程序运行中出现的问题。

      3.程序的运行过程中,如果出现问题,会导致后面的代码会无法执行,而使用异常机制之后,可以对异常情况进行处理,同时后续的代码会继续执行,不会中断整个程序。

      4.在异常的处理过程中,不要只是简单的输出错误,要尽可能的将详细的异常信息进行输出,e.printStackTrace()打印异常的堆栈信息,可以从异常信息的最后一行开始追踪,寻找自己编写的java类; 还可以 e.getMessage(),

 

异常处理的方式:

  1.捕获异常

 

finally 包含哪些处理逻辑:

  1.IO流的关闭操作一般置在finally中

  2.数据库的连接关闭操作设置在finally中

(名士兵教育的)总结:
try语句在返回前,将其他所有的操作执行完,保留好要返回的值,而后转入执行finally中的语句,而后分为以下三种情况:

    情况一:如果finally中有return语句,则会将try中的return语句”覆盖“掉,直接执行finally中的return语句,得到返回值,这样便无法得到try之前保留好的返回值。

    情况二:如果finally中没有return语句,也没有改变要返回值,则执行完finally中的语句后,会接着执行try中的return语句,返回之前保留的值。

    情况三:如果finally中没有return语句,但是改变了要返回的值,这里有点类似与引用传递和值传递的区别,分以下两种情况,:

        1)如果return的数据是基本数据类型或文本字符串,则在finally中对该基本数据的改变不起作用,try中的return语句依然会返回进入finally块之前保留的值。

        2)如果return的数据是引用数据类型(比如对象),而在finally中对该引用数据类型的属性值的改变起作用,try中的return语句返回的就是在finally中改变后的该属性的值。

标签:语句,return,代码,try,finally,java,异常
From: https://www.cnblogs.com/belen87/p/16739185.html

相关文章

  • java.lang.RuntimeException: Unable to instantiate class java.lang.Integer with v
    代码为@Value("${address.count}")privateIntegercount;单元测试中代码修改为@InjectableprivateIntegercount=1000;单元测试中类型没法自动转换,......
  • linux系统下运行java项目,(做笔记)
    原链接处:Linuxjar包后台运行-阿里云开发者社区(aliyun.com) Linuxjar包后台运行2016-04-10 1755简介: Linux运行jar包命令如下:方式一:java -jarshareniu.ja......
  • Java11安装(win11)
    下载JDK解压版本下载后解压,并放到一个没有中文路径的目录,如图所示:配置Java环境变量以Windows11系统为例,打开设置,搜索“环境”,点击“编辑系统环境变量”,如图所示:点击......
  • Java Script 原型链原理
    所有对象都有隐式原型;原型也是对象,也有隐式原型.functionUser(){}console.log(User.prototype);functionUser(){}varu=newUser();console.log(u.hasOwnProper......
  • java常见面试补录
    ***外卖系统:(业务讲解)。前端:用户下单;后端:管理员;拦截器。提示:业务介绍;涉及哪些模块;业务流程(哪些角色做什么事)。*、Mysql,redis:mysql异步场景时,Mysql无法写入。(......
  • 【JAVA】探讨 Java 中 valueOf 和 parseInt 的区别
    前言在编程中,遇到类型转换,好像会经常用到parseInt和valueOf,当然这里只拿Integer类型进行陈述,其他类型也是雷同的;想必有读者也跟我一样,经常交叉使用这两个方法,但却不......
  • Java基础(二)| 基础语法之运算输入与控制语句
    ⭐本专栏旨在对JAVA的基础语法及知识点进行全面且详细的讲解,完成从0到1的java学习,面向零基础及入门的学习者,通过专栏的学习可以熟练掌握JAVA编程,同时为后续的框架学习,进阶开......
  • javaweb核心之页面技术
    2页面技术2.1JSP基础2.1.1JSP简介JSP全称是JavaServerPage,它和Servlet一样,也是sun公司推出的一套开发动态web资源的技术,称为JSP/Servlet规范。JSP的本质其实就是一......
  • JavaScript异步加载的三种方式——async、defer、动态创建
    async和deferhtml4.0中定义了defer;html5.0中定义了async。如果没有defer和async,浏览器会立即加载并执行指定的JS脚本,并不会等待后续载入的文档元素。如果有async,加载后......
  • 查找java位置
    方法一:whichjava此方法是无法定位到java的安装路径的,只能定位到执行路径。 方法二:echo$JAVA_HOME 使用echo$JAVA_HOME命令可以定位到java安装路径,但前......