当前位置: 首页 > news >正文

【好程序员特训营】Java异常处理

好记性不如烂笔头,一边看书一边记:

基本概念:

常见的异常:

(1)算数异常。(2)没有给对象开辟内存空间时会出现空指针异常。(3)找不到文件异常

简单异常范例:

<span style="font-size:14px;">public class TestException
{
public  static void main(String args[]){
int arr[]=new int[5];
arr[10]=7;
System.out.println("end of main() method!!");
}
}</span>
编译时候不会出错,运行会出错,因为数组越界,程序做的很明显,但是在实际操作中,往往会因为循环什么的,造成越界而不知道。

异常的处理:

异常处理由try、catch与finally等3个关键字所组成的程序块组成

try{

要检查的程序语句;


}catch(异常类 对象名称){

异常发生时的处理语句;

}finally{

一定会运行到的程序代码;

}

异常类的继承构架

异常类可以分为两大类:java.lang.Exception类与java.lang.Error类。这两个类均继承自类java.lang.Throwable类。

习惯上将Error与Exception类统称为异常类,但是两者在本质上还是不同的。

Error类专门用来处理严重影响程序运行的错误,比如Java虚拟机出错;

Exception类包含了一般性的异常,这些一场被捕捉到之后可以妥善的处理。

抛出异常:

在程序中抛出异常,一定要用到throw这个关键字。

throw 异常类实例对象;

<span style="font-size:14px;">public class TestException
{
public static void main(Sring args[])
{
int a=4, b=0;
try
{
if(b==0)
throw new ArithmeticException("QQQQQQQ");
else
System.out.println(a+"/"+b+"="+a/b);
}
catch(ArithmeticException e){
System.out.println("WWWW"+e);
}
}
}</span>
运行将抛出异常。

指定方法抛出异常:

方法名称(参数....) throws 异常类1,异常类2....

自定义异常类:

为了处理各种异常,Java可通过继承方式编写自己的异常类,声明如下

class 异常名称 extends Exception

{}

例子就不在写了,书上写的都比较简单,还是网上的比较丰富。

相关文章:

  • 【好程序员特训营】Java字符串截取分割
  • 【好程序员特训营】Java线程同步初探
  • 【好程序员特训营】Java中常用的排序方法
  • 【好程序员特训营】Java中随机数处理
  • 【好程序员特训营】IO常用流的功能及特性
  • 【好程序员特训营】Java类与对象
  • 【好程序员特训营】Java网络连接测试小例子
  • Unity4.6中修改RectTransform的宽度和高度
  • unity3D 动态导入FBX、obj模型
  • UL标签的padding与margin默认值
  • 一个让img居中居左居右的方法
  • 谷歌 CardBoard Unity开发基础
  • Unity使用Face++
  • Processing 用图片填充形状
  • Unity结合讯飞语音在线识别
  • 【Leetcode】101. 对称二叉树
  • [译]前端离线指南(上)
  • 「面试题」如何实现一个圣杯布局?
  • css布局,左右固定中间自适应实现
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • Idea+maven+scala构建包并在spark on yarn 运行
  • js中的正则表达式入门
  • Magento 1.x 中文订单打印乱码
  • miaov-React 最佳入门
  • MobX
  • Otto开发初探——微服务依赖管理新利器
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 反思总结然后整装待发
  • 规范化安全开发 KOA 手脚架
  • 原生Ajax
  • 1.Ext JS 建立web开发工程
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • 进程与线程(三)——进程/线程间通信
  • ​linux启动进程的方式
  • ​MySQL主从复制一致性检测
  • ​马来语翻译中文去哪比较好?
  • # 安徽锐锋科技IDMS系统简介
  • #stm32整理(一)flash读写
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (a /b)*c的值
  • (zhuan) 一些RL的文献(及笔记)
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (一)appium-desktop定位元素原理
  • (转)Android学习笔记 --- android任务栈和启动模式
  • (转)EXC_BREAKPOINT僵尸错误
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • (转)可以带来幸福的一本书
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • .NET 反射的使用
  • .net 微服务 服务保护 自动重试 Polly
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)...
  • .Net下使用 Geb.Video.FFMPEG 操作视频文件
  • .NET中的十进制浮点类型,徐汇区网站设计
  • @vue/cli脚手架
  • [ C++ ] STL_vector -- 迭代器失效问题