异常(try……catch……finally、throws和throw的区别、自定义异常)
来源:互联网 发布:2016中国象棋软件排名 编辑:程序博客网 时间:2024/06/05 11:56
一、什么是异常
什么是异常?
认识异常:导致程序中断执行的。
例如我们编写了一个除法程序,除数是不可以为0的,但是我们一开始没有做这个规定,如果执行的过程中出现了0,那么程序就会异常结束。
二、try……catch和finally
出现异常的语句要怎么处理?
我们使用try……catch和finally语句对出现异常的语句进行处理。finally不是必要的,因为程序出现异常会中断执行,如果想继续执行异常下面的代码就需要放入finally语句中,这样才会执行剩下的语句。
格式如下:
try{ //可能出现异常的语句}catch(Exception e){//Exception 代表着catch可以接收的参数类型 //对异常的处理 //return;}finally{ //这是无论是否出现异常都会执行的代码,即使上面注释的return语句结束了该方法,finally代码块还是会运行}
三、throws、throw关键字
throws关键字作用:定义方法时声明该方法不处理异常,抛给调用者处理。
就是说你写了一个有异常的方法,但是你没有对这个方法进行处理,而是用throws关键字将该方法标出来,就像是在对调用他的人说:这是个有异常的方法,你需要处理。
throws关键字的格式
public void 方法名( ) throws Exception{ //有异常的代码块}
例如你在主方法中调用了一个呗throws声明的方法,你有两个选择:
①、要么对其进行处理
②、要么继续使用throws抛出(如果抛出,这样程序可以执行,但是一旦出现异常,程序就会终止)。
throw关键字:
throws是说有这种可能发生(例如除数为0),但执行throw则一定抛出了某种异常。
throw抛出异常的时候是直接抛出实例化对象
try { throw new Exception("实例化异常"); } catch (Exception a) { System.out.println(a); }
该段代码的结果是:java.lang.Exception: 实例化异常
四、自定义异常
自定义异常必须是继承自Exception或者其子类。
若无特殊要求,自定义异常只需要继承Exception类,构造方法中只需要使用super()语句调用Exception的构造方法即可。
//自定义一个异常类class zidingyi extends Exception{ public zidingyi () { super(); } public zidingyi (String a) { super(a); }}//测试类public class Test04 { public static void main(String[] args) { try { int result =divide(4,-2); System.out.println(result); } catch (zidingyi e) { //对捕获的异常进行处理 System.out.println(e.getMessage()); //打印捕获到的异常信息 } } //自定义异常的方法,使用throws关键字抛出 public static int divide(int x,int y) throws zidingyi { if (y<0) { //使用throw关键字抛出实例对象 throw new zidingyi("被除数是负数"); } int result=x/y;//记录结果 return result;//返回结果 }}
- 异常(try……catch……finally、throws和throw的区别、自定义异常)
- 异常 try...catch ...finally throws和throw的区别
- JAVA基础再回首(十九)——异常的概述、Try…Catch、多异常处理、Throws、throw、finally、自定义异常及异常的注意事项
- java的异常处理try, catch,throw,throws和finally
- Java.异常:自定义异常类,throw,throws,try...catch,finally
- 异常处理机制try-catch-finally 和 throw与throws 的区别
- 异常机制 :try、catch、 finally 、throw 、throws
- 异常:"throw/throws"和"try/catch"的区别(一)
- 异常:"throw/throws"和"try/catch"的区别(二)
- java异常处理:try、catch、throw、throws和finally
- java异常-Error和Exception;try,catch,throw,throws,finally
- try catch finally throw throws异常捕获和抛出demo
- Java的异常处理:try-catch-finally throws throw
- Java异常类简介以及throws,try,catch,throw,finally的区别
- 异常:编译时异常和运行时异常&throw和throws区别try-catch的应用
- java 进阶(1)--异常处理:try……catch,Throw处理异常和finally的用法
- Java 异常处理 try catch finally throws throw 的使用和解读(一)
- JAVA之旅(十)——异常的概述,Try-Catch,异常声明Throws,多异常处理,自定义异常,Throw和Throws的区别
- (DFS)Oil Deposits--HDOJ
- 刷题——Lake Counting POJ
- jQuery向后台传入json格式数据的方法
- 我使用过的Linux命令之unrar
- 学会4种备份MySQL数据库(基本备份方面没问题了)
- 异常(try……catch……finally、throws和throw的区别、自定义异常)
- 习题 5.3 输入两个正整数m和n,求其最大公约数和最小公倍数。
- Faster rcnn--改变anchor的size
- 解决Spring的声明式事务中的自定义异常不回滚问题
- Java中数组的使用
- CNN的训练图像与测试图像不一致的多尺度问题
- 名字隐藏与重载
- WebRTC学习之ICE深入理解
- 使用python获取email的subject中带有指定字符串的邮件