throws:定义功能方法时,需要把出现的问题暴露出来让调用者去处理。
那么就通过throws在方法上标识。
/*
* 有些时候,我们是可以对异常进行处理的,但是又有些时候,我们根本就没有权限去处理某个异常。
* 或者说,我处理不了,我就不处理了。
* 为了解决出错问题,Java针对这种情况,就提供了另一种处理方案:抛出。
*
* 格式:
* throws 异常类名
* 注意:这个格式必须跟在方法的括号后面。
*
* 注意:
* 尽量不要在main方法上抛出异常。
* 但是我讲课为了方便我就这样做了。
*
* 小结:
* 编译期异常抛出,将来调用者必须处理。
* 运行期异常抛出,将来调用可以不用处理。
*/
public class ExceptionDemo {
public static void main(String[] args) {
System.out.println("今天天气很好");
try {
method();
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println("但是就是不该有雾霾");
method2();
}
// 运行期异常的抛出
public static void method2() throws ArithmeticException {
int a = 10;
int b = 0;
System.out.println(a / b);
}
// 编译期异常的抛出
// 在方法声明上抛出,是为了告诉调用者,你注意了,我有问题。
public static void method() throws ParseException {
String s = "2014-11-20";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d = sdf.parse(s);
System.out.println(d);
}
}
//今天天气很好
//java.text.ParseException: Unparseable date: "2014-11-20"
// at java.text.DateFormat.parse(DateFormat.java:357)
// at cn.itcast_05.ExceptionDemo.method(ExceptionDemo.java:49)
// at cn.itcast_05.ExceptionDemo.main(ExceptionDemo.java:28)
//但是就是不该有雾霾
//Exception in thread "main" java.lang.ArithmeticException: / by zero
// at cn.itcast_05.ExceptionDemo.method2(ExceptionDemo.java:41)
// at cn.itcast_05.ExceptionDemo.main(ExceptionDemo.java:34)
73、java异常-throws
最新推荐文章于 2024-06-13 07:00:00 发布