• 0
  • 0
分享
  • Java捕获异常处理的常用方法——软件测试圈
  • 北极 2022-03-16 11:01:00 字数 961 阅读 736 收藏 0

在Java中,异常情况分为Exception(异常)和Error(错误)两大类,Java异常通常是指程序运行过程中出现的非正常情况,如用户输入错误、除数为零、需要处理的文件不存在、数组下标越界等,对于异常情况的出现,可以采用异常处理,以保证程序可以正常的执行。

Java中定义两种类型的异常和错误:

1. JVM(Java虚拟机) 异常:由 JVM 抛出的异常或错误。例如:NullPointerException 类,ArrayIndexOutOfBoundsException 类,ClassCastException 类。

2. 程序级异常:由程序或者API程序抛出的异常。例如 IllegalArgumentException 类,IllegalStateException 类。

捕获异常的方法

使用 try 和 catch 关键字可以捕获异常,try/catch代码块中的代码称为保护代码,可以放在异常可能发生的地方,具体用法如下:

try
{
   // 程序代码
}catch(ExceptionName e1)
{
   //Catch 块
}

catch 语句包含要捕获异常类型的声明。当保护代码块中发生一个异常时,try 后面的 catch 块就会被检查。如果发生的异常包含在 catch 块中,异常会被传递到该 catch 块,这和传递一个参数到方法是一样。也可以进行多重捕获,具体用法是在try代码块后面跟随多个catch代码块。

catch 语句往往是和finally配合使用,finally关键字用来创建在try代码块后面执行的代码块,无论是否发生异常,finally代码块中的代码总会被执行,因此,在 finally 代码块中,可以运行清理类型等收尾善后性质的语句。

声明自定义异常

在Java中可以自定义异常,在自定义异常类时需注意以下几点:

1. 所有异常都必须是 Throwable 的子类;

2. 自定义检查性异常类,则需继承 Exception 类;

3. 自定义运行时异常类,则需继承 RuntimeException 类。

自定义的异常类和其他任何类都一样,包含有变量和方法。其作用机制均是抛出异常和捕捉异常,一个方法能捕捉异常,一定是Java代码在某处所抛出的异常,异常总是先被抛出,后被捕捉的。


文章来源:百度文库

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 1、什么是Mybatis?Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,加载驱动、创建连接、创建statement等繁杂的过程,开发者开发时只需要关注如何编写SQL语句,可以严格控制sql执行性能,灵活度高。作为一个半ORM框架,MyBatis 可以使用?XML 或注解来配置和映射原生信息,将?POJO映射成数据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。称Mybatis是半自动ORM映射工具,是因为在查询关联对象或关联集合对象时,需要手动编写sql来完成。 不像Hibernate这种全自动ORM映射工具,Hibernate查询关联对象或...
            13 13 1760
            分享
          •   背景  在现代的开发模式中,基于微服务的开发模式越来越常见,但是随着项目规模的扩大,服务与服务之间的依赖越来越密切,当不同的开发团队去开发不同的服务时,服务的提供者的变动会影响到众多消费它的消费者,为了保证系统的正确性和一致性,这将需要大量的沟通成本和代码修改的时间成本。  之前遇到的某个客户内部就是因为服务与服务之间依赖过多,且存在各种的物理依赖,再加上其他种种原因,使得在集成测试时bug激增。对于他们而言集成测试需要依赖于各个服务版本的一致性以及真实的物理环境,因此他们的集成测试通常需要用上几个小时才可以完成,这就使得整体的效率大大缩减。除此之外,在集成测试中发现的问题也会使得他们花很...
            0 0 462
            分享
          •   概述:在前端自动化中,元素定位少不了,尤其是使用Jquery方法的元素定位。本文主要讲述如何使用Jquery选择器进行元素定位。  基本选择器  简要介绍  Jquery选择器中使用最多的选择器,它由元素id、class、元素名、多个元素符组成。功能表如下表1所示:表1 Jquery基本选择器功能表  实践举例  以百度页面举例,说明基本选择器定位元素的方法。图1 百度首页  id定位方法  由图1可知,“百度一下“的前端代码为<input type="submit" value="百度一下" id="su" class=&...
            13 13 2003
            分享
          • 初次使用Jenkins部署自动化,记录下操作过程。安装Jenkins采用安装离线版Jenkins,将文件解压后,在Jenkins文件夹内启动终端,输入命令java -jar jenkins.war --httpPort=3344,启动。进入Jenkins页面输入账号密码。创建一个任务配置任务General目前仅需填写描述,其他不做了解。源码管理源码管理分两种方式,本底和远程(git/svn,两种操作方式类似)。git填写git地址以及账号密码。本地选无,然后把代码文件拉入Jenkins工作空间中(workspace)。构建触发器触发远程构建 (例如,使用脚本):使用远程脚本出发任务。Build...
            0 0 2336
            分享
          • 今天做接口测试,有个接口的参数使用了 AES 加密,开发也提供了加密函数的实现,但是 Python2.6 实现的,我习惯使用的是 Python3.4,于是准备做下兼容处理,结果过程中发现安装 pycrypto 库会报错。作为测试,定位问题并解决问题乃是我们的强项,于是花了点时间把问题处理了,顺便把解决的结果做个记录,如果后面有同学碰到同样的问题,也不用重复踩坑了。先看看我安装库用的命令行:python34 -m pip install pycrypto下面是报错信息:running build_ext warning: GMP or MPIR library not found; Not bu...
            1 1 1202
            分享
      • 51testing软件测试圈微信