中易网

java中在一个方法后面没有加throws IOException为什么会报错!!!

答案:6  悬赏:80  
解决时间 2021-03-05 17:33
public static void writer(String url,String filename)throws IOException
{ //创建txt文件
String subpath="E:/10_13/"+filename+".txt";
File file =new File(subpath);
if(!file.exists())
{
file.createNewFile();
}

}
最佳答案
因为你调用这个createNewFile() 方法, 这个方法是file类里面的,他实现的时候做了异常处理了,所以你的加入throws IOException 抛异常,可以不用这个 用try/cath也可以。
全部回答
创建文件的时候有很多异常的,要么抛出,要么try catch ,两个都不写就会报错,没有为什么
因为你的file.createNewFile();这个方法抛出了一个异常,要么你try...catch处理,要么你也抛出异常给调用的处理
不一定要 用throws,也可以直接 try catch 语句块 捕获异常,throws的也必须在上层调用类捕获异常,有些类的方法是在源码里用了throws抛出异常,所以上层调用必须捕获或者再次向上层抛出,这是JAVA 规则。
肯定要抛出异常啊,IOException 是使用流、文件和目录访问信息时引发的异常的基类。你创建了文件,就必须要抛出异常,或者你可以使用try,catch{}来捕获异常,来进行操作,就不用throws exception了
这是File类内部定义的,就是说如果你new的这个subpath目录下找不到那个文件,File类内部就会throw异常,因为你使用了这个File类,所以你必须处理这个异常,所以你不加throws IOException就会报错!!!
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我是一名建筑师,想咨询一下电脑配置,有没有
成都有什么交钱就能读的大学或大专,不要成教
为什么很多人宁愿花十多二十万买二手车也不买
是要性还是爱
莫扎特歌剧《唐璜》第一幕,“Madamina,il c
1个路由器不是无线的,我又买了个无线的想放
眼唇卸妆液
问道破天有什么用
斯柯达明锐pcm继电器是多少号
howfar 是什么意思
天安人寿的金如意终身人寿怎么样好吗,每年都
砂锅里面是光面,需处理吗?要用淘米水煮吗
炒股群178573644 验证:百度
怎么样才能把多张图片转换成会动的一张图片呢
罐区防火堤内泡沫消防线能地下敷设吗
推荐资讯
绿叶水果年会优秀店长演讲范文
我的CF号进去游戏里,它说检测到我用第三方软
证券从业资格证考试的规则
玉贵人我想知道这个在什么地方
有和(甄嬛传)一样好看的小说吗
白花洞地址在哪,我要去那里办事
速盈2000元怎么退出来,显示退出来
写一篇五年级下册题目与第6课相似的童年趣事
如何区分心理疾病还是性格问题
怎么鉴别飞利浦剃须刀真假?
求QQ飞车情侣网名 男的带高明 女的带晓彤
找一个泰国关于人妖的歌曲mv。求各路大神帮忙
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?