(java 基础知识) java异常抛出和返回值

异常处理的流程:
① 遇到错误,方法立即结束,并不返回一个值;同时,抛出一个异常对象 。
File file = new File("文件存储地址");
但“存储文件地址”不存在,会在程序执行中,报文件空指针异常。

② 调用该方法的程序也不会继续执行下去,而是搜索一个可以处理该异常的异常处理器,并执行其中的代码 。
第一种情况:
public static void main(String[] args) {
<span style="white-space:pre">		</span>// TODO Auto-generated method stub
<span style="white-space:pre">		</span>String name = null;
<span style="white-space:pre">		</span>try{
<span style="white-space:pre">			</span>File file =new File("d://ss//sed.txt");
<span style="white-space:pre">			</span>name = "知道";
<span style="white-space:pre">			</span>FileInputStream input =new FileInputStream(file);<span style="white-space:pre">			</span>
<span style="white-space:pre">		</span>}catch(Exception e){<span style="white-space:pre">			</span>
<span style="white-space:pre">			</span>name = "不知道";
<span style="white-space:pre">			</span>System.out.println("文件名称是:"+name);<span style="white-space:pre">			</span>
<span style="white-space:pre">		</span>}
<span style="white-space:pre">		</span>System.out.println("文件名称是:"+name);


<span style="white-space:pre">	</span>}
结果:file 文件为空,FileInputStream 会报错“文件为空”,程序会执行catch 模块的逻辑片段,最后的输出结果为:两个不知道
第二种情况:
	public static void main(String[] args) throws FileNotFoundException {
		// TODO Auto-generated method stub
		String name = null;
		File file =new File("d://ss//sed.txt");
		name = "知道";
		FileInputStream input =new FileInputStream(file);
		System.out.println("文件名称是:"+name);
	}
结果:file文件为空,FileInputStream会提示“文件为空”,程序会执行FileNotException 中的相关逻辑代码,最后不会输出任何结果。
 
第三种情况:
public static void main(String[] args)  {
		// TODO Auto-generated method stub
		String name = null;
		File file =new File("d://ss//sed.txt");
		name = "知道";
	
			
	        try {
	        
	        	FileInputStream input =new FileInputStream(file);
	        	throw new Exception();
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		System.out.println("文件名称是:"+name);

	}

结果:file文件为空,FileInputStream会提示“文件为空”,程序会执行Exception中的相关逻辑代码,最后输出结果:"知道"。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值