how2j.cn


工具版本兼容问题
异常定义:
导致程序的正常流程被中断的事件,叫做异常


本视频是解读性视频,所以希望您已经看过了本知识点的内容,并且编写了相应的代码之后,带着疑问来观看,这样收获才多。 不建议一开始就观看视频



5分43秒
本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器。 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)。 chrome 的 视频下载插件会影响播放,如 IDM 等,请关闭或者切换其他浏览器



步骤 1 : 文件不存在异常   
步骤 2 : 练习-异常   
步骤 3 : 答案-异常   

步骤 1 :

文件不存在异常

edit
比如要打开d盘的LOL.exe文件,这个文件是有可能不存在的
Java中通过 new FileInputStream(f) 试图打开某文件,就有可能抛出文件不存在异常FileNotFoundException
如果不处理该异常,就会有编译错误
处理办法参见 异常处理
package exception; import java.io.File; import java.io.FileInputStream; public class TestException { public static void main(String[] args) { File f= new File("d:/LOL.exe"); //试图打开文件LOL.exe,会抛出FileNotFoundException,如果不处理该异常,就会有编译错误 new FileInputStream(f); } }
package exception;
 
import java.io.File;
import java.io.FileInputStream;
 
public class TestException {
 
    public static void main(String[] args) {
         
        File f= new File("d:/LOL.exe");
         
        //试图打开文件LOL.exe,会抛出FileNotFoundException,如果不处理该异常,就会有编译错误
        new FileInputStream(f);
         
    }
}
步骤 2 :

练习-异常

edit  姿势不对,事倍功半! 点击查看做练习的正确姿势
罗列出学习到目前为止,都接触过了哪些异常,分别在什么情况下会出现
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
查看本答案会花费3个积分,您目前总共有点积分。查看相同答案不会花费额外积分。 积分增加办法 或者一次性购买JAVA 中级总计0个答案 (总共需要0积分)
查看本答案会花费3个积分,您目前总共有点积分。查看相同答案不会花费额外积分。 积分增加办法 或者一次性购买JAVA 中级总计0个答案 (总共需要0积分)
账号未激活 账号未激活,功能受限。 请点击激活
本视频是解读性视频,所以希望您已经看过了本答案的内容,带着疑问来观看,这样收获才多。 不建议一开始就观看视频

4分2秒 本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器。 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)。 chrome 的 视频下载插件会影响播放,如 IDM 等,请关闭或者切换其他浏览器


ParseException 解析异常,日期字符串转换为日期对象的时候,有可能抛出的异常

OutOfIndexException 数组下标越界异常
OutOfMemoryError 内存不足
ClassCastException 类型转换异常
ArithmeticException 除数为零
NullPointerException 空指针异常


HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。


问答区域    
2021-09-17 为什么我一直显示拒绝访问
2001110




一直显示拒绝访问,权限也都开了
加载中

							

							


5 个答案

myl031223
答案时间:2023-12-30
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; public class Files { public static void main(String[] args) { // TODO 自动生成的方法存根 File f=new File("C:/Users/橙风雾雨/Desktop/mm.jpg"); try { new FileInputStream(f); } catch (FileNotFoundException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } } }

zhenghaha
答案时间:2023-06-06
空指针异常,我恨你

LUO萝北
答案时间:2023-05-09
罗列出学习到目前为止,都接触过了哪些异常,分别在什么情况下会出现: RuntimeException:运行时异常 IOException:输入输出异常

ljbeiji
答案时间:2022-09-01
你在D盘建个aa.txt文件,然后代码里aa后面加上.txt就好了

lt6868688
答案时间:2021-11-02
因为你打开的是文件夹,这个new File("这里面是个带全路径的文件,而不是文件夹")



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2021-05-23 练习-异常综合2
起个名




//类: CheckingAccount 支票账户,具备透支额度,继承Account //属性:overdraftProtection 透支额度
加载中
public class Account {
	protected static double balance = 0.0d;
	protected double init;
	
	public Account(double init) {
		this.init = init;
	}
	
	public Account() {
		// TODO 自动生成的构造函数存根
	}

	static Account x = new Account();
	
	public static double getBalance() throws overdraftException {
		if(balance < 0) 
			throw x.new overdraftException("透支异常", balance);
		return balance;
	}
	
	public static void deposit(double amt) {
		balance = balance + amt;
	}
	
	public static void main(String[] args) {
		CheckingAccount y = x.new CheckingAccount();
		try {
			deposit(325.50);
			y.withdraw(415.50);
			y.CheckingAccount(balance); 
		} catch (overdraftException e){
			e.printStackTrace();
			System.out.println(e.getMessage() +"	" + e.getDeficit());
		}	
	}
	
	class overdraftException extends Exception {
		String message;
		double deficit;
		
		public overdraftException() {
			
		}
		
		public overdraftException(String msg) {
			super(msg);
			message = msg;
		}
		
		public overdraftException(String message, double deficit) {
			this.message = message;
			this.deficit = deficit;
		}
		
		public String getMessage() {
			return message;
		}
		
		public double getDeficit() {
			return deficit;
		}
	}
	
	class CheckingAccount extends Account {
		
		private double overdraftProtection;
		
		double protect;
		
		Account x = new Account();
		
		public double CheckingAccount(double balance) throws overdraftException {
			balance = x.getBalance();
			return balance;
		}
		
		public void CheckingAccount(double balance,double protect) {
			
		}
		
		public void withdraw(double amt) {
			balance = balance - amt;
		}
	}
	
}

							


2 个答案

how2j测试账号1
答案时间:2023-03-22
999

it课站
答案时间:2022-04-20
666
666



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2021-02-28 提示包exception不匹配
2020-12-29 你们捕捉FileNotFound时有没有出错?
2020-05-03 这是我的总结


提问太多,页面渲染太慢,为了加快渲染速度,本页最多只显示几条提问。还有 15 条以前的提问,请 点击查看

提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
关于 JAVA 中级-异常处理-什么是异常 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 578362961
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: https://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图