java throw throws try-catch-finally异常处理
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java throw throws try-catch-finally异常处理,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2315字,纯文字阅读大概需要4分钟。
内容图文
一、异常分类
1、受检异常
在进行代码编写时就会给出提示的异常需要使用 try-catch-finally 处理或使用 throws 抛出。
2、非受检异常
在代码编写时不会给出提示但是在运行时可能会出现的异常。例如:空指针异常,数组脚标越界异常等
String str1 = null;
String str2 = "好好学习,天天向上!";
System.out.println(str1.equals(str2)); //编写时并没有报错,运行时会出现NullPointerException异常
二、异常处理
1、throws
throws:方法可能会抛出异常。(用在声明方法时,表示该方法可能要抛出异常)
2、throw
throw:对于非受检异常当代码运行到此处时就会出现异常,对于受检异常在编写时就会给出提示。两种异常都可以抛出或用 try-catch-finally 解决,但通常使用throws抛出(throw声明在方法内部)
//非受检异常
public void setAge(int age) throws RuntimeException{
if(age<0 || age>150) {
RuntimeException e;
throw e = new RuntimeException("年龄不合法");
}else {
this.age = age;
}
}
3、try-catch-finally
try-catch-finally:用于处理异常,当异常不被抛出时就需要使用 try-catch-finally 处理,其中 finally 部分是必须执行部分即使在 try 或 catch 中执行了return 语句也会在返回前运行finally中的语句。finally 可以有也可以没有。
将可能出现异常的部分放在try块中,对异常的处理放在catch块中。
出现异常后不再执行后面的语句,如果异常出现在try中便不再执行try块中后面的语句。
public static void main(String[] args) {
String str1 = "好好学习,天天向上!";
String str2 = null;
boolean bool;
try {
bool = str2.equals(str1); //在这会出现空指针异常
System.out.println("少睡觉,多看书!");
}catch(NullPointerException e) {
System.out.println("str2不能为空!");
return;
}finally {
str2 = "好好学习,天天向上!";
System.out.println(str1.equals(str2));
}
}
/*执行结果为:
str2不能为空!
true
*/
但是有一种特殊的情况:如果出现System.exit(0); 语句便终止程序,不会继续执行后面的代码
public static void main(String[] args) {
String str1 = "好好学习,天天向上!";
String str2 = null;
boolean bool;
try {
bool = str2.equals(str1);
System.out.println("少睡觉,多看书!");
}catch(NullPointerException e) {
System.out.println("str2不能为空!");
System.exit(0);
}finally {
str2 = "好好学习,天天向上!";
System.out.println(str1.equals(str2));
}
}
/*执行结果为:
str2不能为空!
*/
三、自定义异常
编写一个类,继承Exception,并重写一个参数的构造方法即可完成自定义受检异常类型。
编写一个类, 继承RuntimeExcepion,并重写一个参数的构造方法即可完成自定义运行时异常类型。
public class Age extends Exception{
public Age(String str) {
super(str);
}
}
内容总结
以上是互联网集市为您收集整理的java throw throws try-catch-finally异常处理全部内容,希望文章能够帮你解决java throw throws try-catch-finally异常处理所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。