java出现异常的处理方法

发布时间:2020-08-01 14:58:29 作者:清晨
来源:亿速云 阅读:141

这篇文章主要介绍java出现异常的处理方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

异常的处理分为消极的处理(自己处理不了,就往调用它的地方上抛throws,异常没有解决,只是抛出)和积极处理(异常捕获,捕捉异常通过try-catch语句或者try-catch-finally语句实现)。

消极的处理:

语法:

public void m1() throws 异常类名1,异常类名2{}

允许编译通过。

当上抛的异常为非运行(已检查)时异常时,调用此方法的调用者必须处理。

当上抛的异常为运行(未检查)时异常时,可以处理可以不处理。

积极的处理:(异常捕获)

将异常直接捕获,并且做出处理。

语法:

try{
	  //异常代码
	}catch(异常类名 引用名){  

		//当异常产生执行的代码
	}

try 后的catch代码块只能匹配成功一个。

catch后声明的异常为父类时,它能够捕捉的异常为它本身+所有子类异常(多态的体现)。

注意:catch代码块捕获异常时,子类异常必须定义在父类异常前面,否则会编译出错。

(视频教程推荐:java视频教程)

finally代码块:一定会执行此代码块中的代码,常用来关闭资源。

	try{
	
	}catch(){
	
	}finally{
		//无论是否产生异常,一定会去执行的代码
	}

注意:finally代码块中不要定义return语句。

举例:

package work;

import java.io.EOFException;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.SQLException;
import java.util.Scanner;

/**
 * @author 超伟
 * @date 2019年5月13日  
 * @version 1.0.0  
 */
public class t4 {
	public static void main(String[] args) {
		System.out.println("main1");
		int n;
		Scanner sc = new Scanner(System.in);
		n = sc.nextInt();
		ma(n);
		System.out.println("main2");
	}
	public static void ma(int n){
		try {
			System.out.println("m1");
			mb(n);
			System.out.println("m2");
		} catch (EOFException e) {
			//e.printStackTrace();
			System.out.println("EOFException    ");
		} catch (IOException e) {
			System.out.println("IOException e111");
		}catch (SQLException e) {
			System.out.println("SQLException");
		}catch (Exception e) {
			System.out.println("Exception");
		}finally{
			System.out.println("in finally");
		}
	}
	
	public static void mb(int n) throws Exception {
		System.out.println("mb1");
		if (n==1) {
			throw new EOFException();
		}
		if (n==2) {
			throw new FileNotFoundException();
		}
		if (n==3) {
			throw new SQLException();
		}
		if (n==4) {
			throw new NullPointerException();
		}
		System.out.println("mb2");
	}	
}
程序运行结果为:
main1
1
m1
mb1
EOFException    
in finally
main2

以上是java出现异常的处理方法的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. java中常见的乱码处理方法
  2. ASP.NET中EntLib出现异常的处理方法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java 异常 ava

上一篇:C++如何实现生成随机数

下一篇:Django项目如何实现uwsgi+Nginx保姆级部署

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》