throws,throw,try,catch,finally 分别代表什么意义
2015-05-11 00:00
761 查看
摘要: JAVA 语言如何进行异常处理,关键字: throws,throw,try,catch,finally 分
别代表什么意义?在 try 块中可以抛出异常吗?
JAVA 语言如何进行异常处理,关键字: throws,throw,try,catch,finally 分
别代表什么意义?在 try 块中可以抛出异常吗?这里面参考博文:
源码分析:
在main方法里,由于sqrt方法的声明中有throws关键字,这是因为方法中有throw异常方法,并且没有对方法进行try...catch 操作。
所以,在调用该方法时,必须对throws后面声明的异常进行处置,处置的方法有两种:
(1)main方法处理该异常,使用try.....catch语句,将可能会出现的异常的代码放在try块内,将处理异常的代码放在catch块内,并指明catch能够捕获的异常的类型,当异常被捕获时,执行catch块内的语句。
(2)main方法不处理该异常,将异常向外层程序抛出。在方法声明中使用throws关键字抛出异常,方法体中不需要使用try...catch语句。
异常类Exception的getMessage方法用来获取一场的描述信息,printStackTrace方法用来打印异常的堆栈信息,通过堆栈信息能够查明异常发生的原因和位置,在调试的时候常用。
别代表什么意义?在 try 块中可以抛出异常吗?
JAVA 语言如何进行异常处理,关键字: throws,throw,try,catch,finally 分
别代表什么意义?在 try 块中可以抛出异常吗?这里面参考博文:
package com.yuan.test; public class TestThrowable { /** * 计算一个数字的平方根 * @param nStr 以字符串的形式提供数字 * @return 返回平方根 * @throws Exception 当用户输入的字符串为空, * 或者字符串无法转换成数字,或者转换成的数字小于0,都会抛出异常 */ public static double sqrt(String nStr) throws Exception { if (nStr == null) { //用trow关键字抛出异常,当异常被抛出时,程序会跳出该方法 throw new Exception("输入的字符不能为空!"); } double n = 0; try { n = Double.parseDouble(nStr); } catch(NumberFormatException e) { //将parseDouble方法可能抛出的异常NumberFormatException捕获, //然后将捕获的异常重新封装并输出 throw new Exception("输入的字符串必须能够转化成数字!", e); } if (n < 0 ){ throw new Exception("输入的字符串转化成的数字必须大于0!"); } return Math.sqrt(n); } public static void main(String[] args) throws Exception { try{ TestThrowable.sqrt("-124.56"); } catch(Exception e) { //将sqrt方法声明的可能抛出的Exception异常捕获 //打印捕获的异常的堆栈信息,从堆栈信息中可以发现异常发生的位置和原因 System.out.println("Got a Exception:" + e.getMessage()); e.printStackTrace(); throw e; //不做进一步处理,将异常向外抛出 } //将sqrt声明了可能会抛出的异常向外抛出,必须在方法声明中使用throws System.out.println(TestThrowable.sqrt("-124.56")); } }
源码分析:
在main方法里,由于sqrt方法的声明中有throws关键字,这是因为方法中有throw异常方法,并且没有对方法进行try...catch 操作。
throw new Exception("输入的字符不能为空!");
所以,在调用该方法时,必须对throws后面声明的异常进行处置,处置的方法有两种:
(1)main方法处理该异常,使用try.....catch语句,将可能会出现的异常的代码放在try块内,将处理异常的代码放在catch块内,并指明catch能够捕获的异常的类型,当异常被捕获时,执行catch块内的语句。
(2)main方法不处理该异常,将异常向外层程序抛出。在方法声明中使用throws关键字抛出异常,方法体中不需要使用try...catch语句。
异常类Exception的getMessage方法用来获取一场的描述信息,printStackTrace方法用来打印异常的堆栈信息,通过堆栈信息能够查明异常发生的原因和位置,在调试的时候常用。
相关文章推荐
- JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗
- JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
- JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
- JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
- JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
- throws、throw、try、catch、finally 分别代表什么意义?
- JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
- JAVA 语言如何进行异常处理,关键字:throws,throw,try,catch,finally 分别代表什么意义?在 try 块中可以抛出异常吗?
- JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
- JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?
- 【Java面试题】22 JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
- JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意思?
- AVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意
- Java语言如何进行异常处理,关键字:throws、throw、try、catch、finally分别如何使用?
- Java - Java语言如何进行异常处理,关键字:throws、throw、try、catch、finally分别如何使用?
- Java的异常处理:try-catch-finally throws throw
- Java异常机制try、catch、finally、throw、throws五个关键字。
- java个人学习笔记14(Error+Exception+try_catch_finally+throw+throws)
- try...catch...finally;throw与throws关键字联合使用
- try catch finally throw throws异常捕获和抛出demo