抛出异常和捕获异常的区别
来源:互联网 发布:美国财经数据公布网 编辑:程序博客网 时间:2024/05/17 03:38
抛出异常:如果程序中出现了异常,没有办法将具体的异常打印出来,不做任何处理
捕获异常:如果程序出现了异常,就能够详细的打印是什么原因导致了异常并且能够做出相应的处理,能够显示详细的Log
如果代码是抛出异常的方式,在运行时出现异常,并且打印的Log不明显,可以改用try{}catch方式来捕获异常,打印出详细的信息
throws语句
throws总是出现在一个函数头中,用来标明该成员函数可能抛出的各种异常。对大多数Exception子类来说,Java 编译器会强迫你声明在一个成员函数中抛出的异常的类型。如果异常的类型是Error或 RuntimeException, 或它们的子类,这个规则不起作用, 因为这在程序的正常部分中是不期待出现的。 如果你想明确地抛出一个RuntimeException,你必须用throws语句来声明它的类型。
throw语句
throw总是出现在函数体中,用来抛出一个异常。程序会在throw语句后立即终止,它后面的语句执行不到,然后在包含它的所有try块中(可能在上层调用函数中)从里向外寻找含有与其匹配的catch子句的try块。
public class MyException extends Exception {String msg;MyException(int age) {msg = "age can not be positive!";}public String toString() {return msg;}}
package com.hb.exception;public class Age {public void intage(int n) throws MyException {//if (n < 0 || n > 120) {MyException e = new MyException(n);throw e; // 是一个转向语句,抛出对象实例,停止执行后面的代码}if (n >= 0) {System.out.print("合理的年龄!");}}public static void main(String args[]) {int a = -5;try { // try catch 必需有Age age = new Age();age.intage(a);// 触发异常System.out.print("抛出异常后的代码");// 这段代码是不会被执行的,程序已经被转向} catch (MyException ex) {System.out.print(ex.toString());} finally {// 无论抛不抛异常,无论catch语句的异常类型是否与所抛出的例外的类型一致,finally所指定的代码都要被执行,它提供了统一的出口。System.out.print("进入finally! ");}}}
打印结果:
age can not be positive!进入finally!
throw 是语句抛出一个异常;throws 是方法抛出一个异常;
throw语法:throw <异常对象>
在方法声明中,添加throws子句表示该方法将抛出异常。
throws语法:[<修饰符>]<返回值类型><方法名>([<参数列表>])[throws<异常类>]
其中:异常类可以声明多个,用逗号分割。
- 抛出异常和捕获异常的区别
- 抛出异常和捕获异常的区别
- 抛出异常和捕获异常
- Java异常的捕获和抛出
- C++抛出异常和捕获异常
- 页面捕获抛出的异常
- vb.net捕获和抛出异常
- 使用try catch抛出和捕获异常
- java 捕获线程里抛出的异常
- java异常的捕获与抛出原则
- java异常的捕获与抛出原则
- runnable的线程抛出异常无法捕获
- Java- 异常的抛出与捕获
- java异常的捕获与抛出原则
- java异常的捕获与抛出原则
- C++的异常抛出与捕获
- dubbo捕获提供者抛出的自定义异常
- 异常 -- 捕获处理 &抛出处理
- model 类状态属性需要注释说明
- IntelliJ下使用Code/Live Template加快编码速度:程序员的工作不是写程序,而是写程序解决问题
- hibernate一、二缓存
- “.ibd”文件和ibdata 文件
- 脑成像数据的格式转换
- 抛出异常和捕获异常的区别
- 在server端访问File文件
- asp_JQEasyUI
- List对象合并
- hibernate总结多表查询
- xFace的快速入门--windows phone
- javaftp上传下载
- hibernate执行SQL语句
- MCMC(Markov Chain Monte Carlo) and Gibbs Sampling