Default constructor cannot handle exception type FileNotFoundException thrown by implicit super cons

本文主要是介绍Default constructor cannot handle exception type FileNotFoundException thrown by implicit super cons,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这是在运行Java的时候常遇见的问题:

报错信息:Default constructor cannot handle exception type FileNotFoundException thrown by implicit super constructor. Must define an explicit constructor。

意思是:默认的构造函数不能处理隐式超级构造函数引发的异常类型 FileNotFoundException,必须定义显式构造函数。

具体情形:在测试RandomAccessFile这个类的使用方法时

声明了一个RandomAccessFile类型【全局变量】。

import java.io.FileNotFoundException;
import java.io.RandomAccessFile;public class MyRandomAccessFile {private RandomAccessFile  file = new RandomAccessFile("D:/demo/test.txt", "rw");
}

然后搜了一下,都在放屁。

我查看了一下RandomAccessFile的构造函数的API:

public RandomAccessFile​(String name,String mode)throws FileNotFoundException
FileNotFoundException - if the mode is "r" but the given string does not denote an existing regular file, 
or if the mode begins with "rw" but the given string does not denote an existing, writable regular file and a new regular file of that name cannot be created, 
or if some other error occurs while opening or creating the file

我先是查了下隐式构造函数转显示构造函数的方法,然后查了下这个错误的详细信息,木有。

最后看到API才明白:原来是这个方法的构造函数中声明了throws \ FileNotFoundException

这样我们就没法直接使用这个方法,因为类名是无法声明throws的,所以:

1. 新建一个方法,将此RandomAccessFile作为返回值类型,并声明throws。

public RandomAccessFile createRAFByfilename(String filename,String mode)throws FileNotFoundException{return new RandomAccessFile(filename, mode);
}

2. 直接在要新建RandomAccessFile 对象的方法上,声明throws。

public static void main() throws FileNotFoundException {MyRandomAccessFile mraf = new MyRandomAccessFile();RandomAccessFile file = mraf.createRAFByfilename("D:/demo/test.txt", "rw");
}

总之就是和隐式和显式构造函数没什么鸟关系。

这篇关于Default constructor cannot handle exception type FileNotFoundException thrown by implicit super cons的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/301559

相关文章

Oracle type (自定义类型的使用)

oracle - type   type定义: oracle中自定义数据类型 oracle中有基本的数据类型,如number,varchar2,date,numeric,float....但有时候我们需要特殊的格式, 如将name定义为(firstname,lastname)的形式,我们想把这个作为一个表的一列看待,这时候就要我们自己定义一个数据类型 格式 :create or repla

ImportError: cannot import name ‘print_log‘ from ‘logging‘

mmcv升级到2.+后删除了很多 解决 查FAQ文档,找到 添加到mmcv.utils下即可

Caused by: org.hibernate.MappingException: Could not determine type for: org.cgh.ssh.pojo.GoodsType,

MappingException:这个主要是类映射上的异常,Could not determine type for: org.cgh.ssh.pojo.GoodsType,这句话表示GoodsType这个类没有被映射到

vue 父组件调用子组件的方法报错,“TypeError: Cannot read property ‘subDialogRef‘ of undefined“

vue 父组件调用子组件的方法报错,“TypeError: Cannot read property ‘subDialogRef’ of undefined” 最近用vue做的一个界面,引入了一个子组件,在父组件中调用子组件的方法时,报错提示: [Vue warn]: Error in v-on handler: “TypeError: Cannot read property ‘methods

Unstructured cannot write mode RGBA as JPEG 错误解决

Unstructured cannot write mode RGBA as JPEG 错误解决 0. 错误详细1. 解决方法 0. 错误详细 Image Extraction Error: Skipping the failed imageTraceback (most recent call last):File "/root/miniconda3/envs/learn-y

Cannot read property ‘length‘ of null while opening vscode terminal

同一问题地址:Cannot read property ‘length’ of null while opening vscode terminal 问题描述 One day, 我在ubuntu 18.04下用vscode打开一个项目,并想和往常一样在vscode使用终端,发现报错Cannot read property 'length' of null。 解决 打开setting.jso

问:Super与this在Java中有什么区别?

this: this 关键字用于引用当前对象。它通常用于区分成员变量和方法参数或局部变量。在实例方法中,this 指向调用该方法的对象。在构造函数中,this 指向正在被初始化的对象。 super: super 关键字用于引用父类(超类)的构造函数、方法或变量。在子类的构造函数中,super() 用于调用父类的构造函数。在子类的方法中,super.methodName() 用于调用父类的方法。

Unity 资源 之 Super Confetti FX:点亮项目的璀璨粒子之光

Unity 资源 之 Super Confetti FX:点亮项目的璀璨粒子之光 一,前言二,资源包内容三,免费获取资源包 一,前言 在创意的世界里,每一个细节都能决定一个项目的独特魅力。今天,要向大家介绍一款令人惊艳的粒子效果包 ——Super Confetti FX。 二,资源包内容 💥充满活力与动态,是 Super Confetti FX 最显著的标签。它宛如一位

MTK Android P/Q system/vendor/super快速打包

一、Android 新版本默认开启了动态分区,把system vendor  product等分区打包成一个super分区。这对于我们使用替换分区的方法来排查问题不是很方便,直接替换一个super也不知道到底是哪个部分导致的。所以我们需要自己制作super.img来缩小范围。下面讲讲如何快速生成system、vendor、super,以及vbmeta(校验image,不匹配可能会导致不开机) 二

MongoDB学习—(1)安装时出现The default storage engine 'wiredTiger' is not available问题解决

MongoDB是NoSql类型的一种基于分布式文件存储的数据库,其存储方式与关系型数据库不同。其详细解释可见于[百科]。安装文件可从官网下载,官网:http://mongodb.org 我将下载的解压文件放到D盘的mongodb文件夹下,