搜索
首页常见问题api接口异常怎么办

api接口异常怎么办

异常: 

在程序开发过程中出现的不正常情况,就是异常。比如除数是0,参数为null,调用参数的成员变量或者方法,数组下标越界。

异常分为两大类型: 

(1)Exception:程序员可以解决的:空指针,除数是0,数组下标越界。

(2)Error:程序员无法解决的:如内存溢出。

Throwable是这两种类型的父类 

Exception的分类:

按照编译器是否检查进行分类:

非检查性异常:也称之为运行时异常,即编译器在检查语法期间,不做异常检查。
检查性异常:也称之为编译时异常,此时,编译器会强制检查语法中的异常情况。如有异常,在编译期需要做异常处理。

Exception的结构:

RuntimeException:
         NullPointerException
         ArrayIndexOutOfBoundsException
         ClassCastException
         IllegalArgumentExcetion
         NumberFormatException
IOException:
         EOFException
         FileNotFoundException

异常的处理:

(1)当异常出现时,终止程序。

(2)当异常出现时,我们使用处理机制进行处理异常。无需终止程序。

体验度:尽可能的选择异常处理机制。

异常处理机制: 

基本思想: 

在可能出现异常的代码块区域,进行尝试检查,如果出现了异常信息,我们将这些信息封装成某一异常类型的对象, 然后进行捕获与处理。

相关推荐:《常见问题

 try{
     可能出现异常的代码块
   /*如果有异常,jvm会将异常信息,封装成对象
      将地址信息赋值给catch中的形参
   */
 }catch(Exception e){
          进行处理e
 }

多catch语句块情况: 

当我们在尝试捕获异常对象时,想对多种不同的异常对象分别处理时, 需要使用多个catch语句块。

说明:当在try中出现了异常信息,那么就不会再执行try中代码块的后续部分。进入相应的catch代码块中执行处理。

多catch语句块情况下,catch处理的异常种类书写顺序: 

先写子类异常类型,再写父类异常。

throw:抛出关键字,在本方法中出现的异常,不做try-catch处理。 

而是抛给调用者处理。需要使用throw关键字。

throws:声明异常关键字,通常用于方法的定义上,用于通知调用者。

(1)当throw的异常对象为检查性异常,方法上必须throws此异常类型。
(2)如果throw的异常对象为非检查性异常,方法上不必throws此异常类型。

方法重写时的throws的用法 

可行的:

(1)可以相同。
(2)可以是部分。
(3)异常的子类型可行,也可以是多个子类型。

不行的:

(1)不同的异常类型,也不可以多声明不同类型的异常类型。
(2)异常的父类型不行。

finally:

是为try-catch提供了统一的出口。不管try与catch语句块是否发生了异常,最终都会执行finally里的代码块 。 

通常用于处理一些资源的关闭等操作: 

如:读取文件时关闭操作,或者是删除临时文件

finally语句块可选。 

当语句中有return时,先顺序运行,若遇上return先将其返回值悬挂,然后运行一遍finally中的代码块后执行return(finally中没有return时,不会对返回值产生影响)

以上是api接口异常怎么办的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。