首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >我能从方法中捕获抛出异常吗?

我能从方法中捕获抛出异常吗?
EN

Stack Overflow用户
提问于 2016-08-28 10:27:34
回答 1查看 97关注 0票数 1

当我试图从方法声明中抛出一个异常时,我会得到一个错误“ClassNotFoundException无法到达的catch块,这个异常永远不会从try语句体中抛出”。

守则是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class MenuSQL {
    private static String sentence = "";
    private static int option;
    Statement sentenceSQL = ConnectSQL.getConexion().createStatement();

public MenuSQL(int option) throws ClassNotFoundException, SQLException {
    super();
    this.option = option;
    try {
        System.out.print("Introduce the sentence: ");
        System.out.print(sentence);
        sentence += new Scanner(System.in).nextLine();
        System.out.println(MenuSentence.rightNow("LOG") + "Sentence: " + sentence);

        if (opcion == 4) {
            MenuSentence.list(sentence);
        } else {
            sentenceSQL.executeQuery(sentence);
        }
    } catch (SQLException e) {
        System.out.println(MenuSentence.rightNow("SQL") + "Sentence: " + sentence);
    } catch (ClassNotFoundException e) {
        System.out.println(MenuSentence.rightNow("ERROR") + "Sentence: " + sentence);
    }
}
}

我怎样才能抓住ClassNotFoundException?提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-28 10:44:23

try{...} catch(){...}语句的catch块只能捕获由try{...}块引发的异常。(或该异常的超类)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
try {
    Integer.parseInt("1");
    //Integer.parseInt throws NumberFormatException
} catch (NumberFormatException e) {
    //Handle this error
}

然而,您想要做的基本上是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
try {
    Integer.parseInt("1");
    //Integer.parseInt throws NumberFormatException
} catch (OtherException e) {
    //Handle this error
}

因为您的try{...}块中的任何语句都不会抛出OtherException,所以编译器会给您一个错误,因为它知道nothing在您的try{...}块中将抛出该异常,所以您不应该尝试将永远不是thrown的东西放到catch上。

在您的示例中,try{...}块中的任何内容都不会抛出一个ClassNotFoundException,因此不需要捕获它。您可以从代码中删除catch (ClassNotFoundException e) {...}以修复错误。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39194478

复制
相关文章
python抛出异常和捕获异常_在try块中可以抛出异常吗
2.解析 关键字try 以及except是 使用Python 解释器主动抛出异常的关键, Python解释器从上向下执行 当运行try中的某行代码出错,会直接进入except中执行下方代码 try中错行下方的代码不会被运行 except…as… 是固定的语法格式 打印traceback信息 finally 后的代码不管是否抛出异常都会执行 except 的原理 调用sys中 exc.info 方法返回基本信息 所以抛出异常的第一步拓展可以在这里开始 注意 每个关键字下方的代码都是独立的(所有的变量都是局部变量)
全栈程序员站长
2022/11/02
4.6K0
Java 捕获和抛出异常
Java中把非正常情况分为两种:异常(Exception)和错误(Error),其中Error错误一般是指与虚拟机相关的问题,这种错误无法恢复或不可能捕获,而对于Exception异常我们可以使用try…catch进行捕获。try…catch不允许存在单独的try块或catch块,可存在多个catch块。try块中存放业务功能代码,catch块中存放异常处理代码。Java7后支持用catch捕获多个异常,也可捕获自定义异常。对于捕获的异常一般可以使用printStackTrace()方法追踪输出至标准错误流。try…catch后可以添加finally,使用finally可以保证除系统退出外finally块中代码绝对执行。捕获异常时需要注意一定要先捕获小异常,再捕获大异常,否则小异常将无法被捕获。代码示例如下
用户7886150
2021/04/06
1.9K0
python抛出异常和捕获异常_Python异常
class Widget: def __init__(self,size=(40,40)): self._size=size def getSize(self): return self._size def resize(self,width,height): if width<0 or height<0:
全栈程序员站长
2022/11/02
2.9K0
Java-捕获和抛出异常
Error和Exception 什么是异常 实际工作中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合 你的要求、你的程序要打开某个文件,这个文件可能不仔仕或省乂件信孔个对,小女次队效库的数据,数据可能是空的等。我们的程序再跑着,内存或硬盘可能满了,等等。 软件程序在运行过程中,非常可能遇到刚刚提到的这些异常问题,我们叫异常,英文是: Exception,意思是例外。这些,例外情况,或首叫异吊,忑么L找1与住/e口年心理。而不至于程序崩溃。 异常指程序运行中出现的不期而至的各种状况,
白衣少年
2022/12/26
9470
Java-捕获和抛出异常
python3-抛出、捕获异常
''' 异常:错误发生的信号,程序随之终止 三个部分: 1.traceback 异常的追踪信息(链接) 2.异常的类型 3.异常信息 错误两大类: 1.语法错误(运行前进行判定和修正) 2.逻辑错误 异常种类: AttributeError 属性错误 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x IOError 输出错误 输入/输出异常;基本上是无法打开文件 ImportError 模块
py3study
2020/01/09
1.6K0
捕获异常抛出事务不回滚
方法名上加注解事务 @Transactional 使用注解的简单模式,报错会回滚,但是如果方法中捕获异常后手动抛出异常,事务并没有回滚。
二十三年蝉
2019/07/02
1.5K0
自定义异常并抛出,捕获
# 需求:类创建人的对象:初始化年龄0,让用户输入自己的年龄:1-100合法 小于1或大于100 抛出异常 # 自定义异常 -- 自定义异常类 也要继承exception class AgeError(Exception): def __init__(self): self.error_msg = 'AgeError: 年龄应该是在1-100之间!' def __str__(self): return self.error_msg class Person
汪凡
2018/05/29
5620
python抛出异常和捕获异常_python自定义异常
有时,程序需要主动抛出异常,因为某些情况下,你需要反馈消息给更上层的调用者,告诉它有一些异常情况发生,而你抛出异常的地方,没有能力处理它,因此需要向上抛出异常。
全栈程序员站长
2022/11/07
9690
微服务-如何捕获上游服务抛出异常?
最近公司来了个新项目,业务功能线很多也比较繁琐,用户量也会不少,在跟同事商量后,决定搭个微服务架构来应对。便开始集成网关,上注册/服务中心,上分布式事务等等…
Blue_007
2023/10/21
6331
微服务-如何捕获上游服务抛出异常?
python抛出异常会终止程序吗_catch里面抛出异常
如果没有 try 和 except 语句覆盖抛出异常的 raise 语句,该程序就会崩溃,并显示异常的出错信息。通常是调用该函数的代码知道如何处理异常,而不是该函数本身。所以你常常会看到 raise 语句在一个函数中,try 和 except 语句在调用该函数的代码中。
全栈程序员站长
2022/11/19
2.2K0
JavaScript基础之五——异常的抛出与捕获
    任何程序在运行过程中都会产生开发者意想不到的异常,因此对异常的处理逻辑是一种编程必备的能力。在JavaScript语言中,使用try-catch块来完成对异常的捕获与处理。
珲少
2018/08/15
5120
python抛出异常会终止程序吗_python抛出异常的作用
当python执行无效的代码时,就会抛出异常。用 try 和 catch 语句可以处理异常,以避免程序的崩溃。我们也可以在代码中抛出自己的异常,抛出异常意味着 停止运行这个函数中的代码,将程序执行转到except语句
全栈程序员站长
2022/11/02
1.8K0
python抛出异常写法_零基础学 Python(32):如何抛出和捕获异常?「建议收藏」
在 Python 中是使用 raise 关键字来抛出异常的,比如在下面这个函数中,如果不存在目标文件,则会抛出一个 Exception 通用异常。
全栈程序员站长
2022/11/07
9130
异常1.异常简介2.捕获异常3.异常的传递4.抛出自定义的异常 5.异常处理中抛出异常
打开一个不存在的文件123.txt,当找不到123.txt文件时,就会抛出给我们一个IOError类型的错误,No such file or directory:123.txt(没有123.txt这样的文件或目录)
Python攻城狮
2018/08/23
1.8K0
异常1.异常简介2.捕获异常3.异常的传递4.抛出自定义的异常
5.异常处理中抛出异常
Python异常捕获和抛出-对方不想和你说话并向你抛出了一个异常
Python使用异常类来管理异常信息。当发生异常的时候,程序会抛出一个异常信息,自动根据代码的层次查找异常处理信息。当代码发生异常而没有指定处理异常的方法是,Traceback会打印发生异常时代码执行栈的情况。
唔仄lo咚锵
2021/09/14
1.2K0
Python异常捕获和抛出-对方不想和你说话并向你抛出了一个异常
添加引用方式抛出和捕获干净的WebService异常
说明:【干净】指的是客户端在捕获WebService(下称WS)抛出的异常时,得到的ex.Message就是WS方法中抛出的异常消息,不含任何“杂质”。
跟着阿笨一起玩NET
2018/09/20
8220
添加引用方式抛出和捕获干净的WebService异常
Flask中异常捕获
HTTP 异常主动抛出 abort 方法 抛出一个给定状态代码的 HTTPException 或者 指定响应,例如想要用一个页面未找到异常来终止请求,你可以调用 abort(404)。 参数: code – HTTP的错误状态码 # abort(404) abort(500)   抛出状态码的话,只能抛出 HTTP 协议的错误状态码  捕获错误 errorhandler 装饰器 注册一个错误处理程序,当程序抛出指定错误状态码的时候,就会调用该装饰器所装饰的方法 参数: code_or_ex
汪凡
2019/03/01
1.7K0
【Kotlin】空安全 ⑤ ( 异常处理 | 捕获并处理异常 | 抛出自定义异常 )
如果变量为空 , 则直接抛出 kotlin.KotlinNullPointerException 异常 ;
韩曙亮
2023/03/30
8510
【Kotlin】空安全 ⑤ ( 异常处理 | 捕获并处理异常 | 抛出自定义异常 )
Js捕获异常的方法
JavaScript的异常主要使用try catch finally语句以及窗口对象window的onerror事件来捕获。
WindRunnerMax
2020/08/27
4.8K0
python中的异常捕获
无论是编程新手还是老手,都会遇到过程序报错,终止执行的情况,对于python的报错信息,可以分为以下两大类
生信修炼手册
2020/05/28
1.9K0

相似问题

我能从加载的swf中捕获所有的异常吗?

21

我的方法应该抛出异常吗?

10

如何在抛出异常的方法(JAVA)中捕获异常?

16

我应该测试方法不抛出异常吗?

61

您能捕获异常处理期间抛出的异常吗?

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文