入门:请输出你在catch里面捕获的异常

Flink简单的统计异常数据,写入到redis里面。 package com.coder.flink.core.aaa_spark; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import org.apache.flink.api.common.functions.FilterFunction; import org.apache.flin... 阅读详情
今天遇到了2个人问我他们的程序运行不对,却找不到问题,说代码都对啊?
我问,有什么异常吗?

回答:没有异常啊?

我问:你知道怎么看异常吗?

回答:我的是个小的数据库程序,我直接在Eclipse里面运行的,没发现有啥错误输出啊?

我问:给我你的代码看看

  请大家看看发过来的代码,我只贴关键部分

 
  1. import java.sql.Connection;
  2. import java.sql.DriverManager;
  3. import java.sql.ResultSet;
  4. import java.sql.Statement;
  5. class T {
  6.   public static void main(String args[]) {
  7.     try {
  8.       Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  9.       Connection con = DriverManager.getConnection("jdbcdbc:info");
  10.       Statement sql = con.createStatement();
  11.       String condition = "select * from info";
  12.       ResultSet rs = sql.executeQuery(condition);
  13.       rs.last();
  14.       int rowNumber = rs.getRow();
  15.       while (rs.next()) {
  16.         System.out.println(rs.getString("name"));
  17.       }
  18.       con.close();
  19.     } catch (Exception e1) { //######## 我最郁闷的是这里,其它的代码大家可以不用看
  20.     }
  21.   }
  22. }
具体的代码大家无须细看,直接看我最郁闷的部分就行了。

我发现他们好像一个老师教的,都是把 catch部分啥也不写,就好象他们的程序从来不会出错。我对他们看得书,教他们这么做的老师表示强烈的愤怒。

改成如下的代码,增加了错误输出
  1. import java.sql.Connection;
  2. import java.sql.DriverManager;
  3. import java.sql.ResultSet;
  4. import java.sql.Statement;
  5. class T {
  6.   public static void main(String args[]) {
  7.     try {
  8.       Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  9.       Connection con = DriverManager.getConnection("jdbcdbc:info");
  10.       Statement sql = con.createStatement();
  11.       String condition = "select * from info";
  12.       ResultSet rs = sql.executeQuery(condition);
  13.       rs.last();
  14.       int rowNumber = rs.getRow();
  15.       while (rs.next()) {
  16.         System.out.println(rs.getString("name"));
  17.       }
  18.       con.close();
  19.     } catch (Exception e1) {
  20.       e1.printStackTrace(); //####### 增加错误输出
  21.     }
  22.   }
  23. }
结果抛出了异常
  1. java.sql.SQLException: Result set type is TYPE_FORWARD_ONLY
  2.     at sun.jdbc.odbc.JdbcOdbcResultSet.last(Unknown Source)
是Statement类型错了,修改一下就行了,改成可移动的结果集。
  1. sql = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);


忠告初学者,这些小地方一定要注意,同样的代码,有的人写了,有的人省略了,为什么?如果你不确认,那就写上吧。
一点你的程序出了问题,这个可是你唯一的参考啊。

就算是有经验的朋友,我同样建议你把一些异常输出出来。当然你可以用更好的方式,比如日志之类的。

为了更好地调试你的程序,请输出你在catch里面捕获的异常吧!!!


try catch 捕获异常的用法 摘要:C++的try-catch机制用于异常处理,基本语法包括try块(可能抛出异常的代码)和catch块(捕获特定或通用异常)。通过示例展示了如何抛出和捕获标准异常及自定义异常,强调应使用const引用捕获异常以提高性能。关键概念包括异常传播和捕获优先级。最佳实践建议优先使用标准异常类、避免捕获所有异常、使用RAII管理资源,并确保异常安全(基本/强/不抛保证)。常见错误包括未处理捕获的异常、危险操作继续执行和资源泄漏。总结强调应明确捕获特定异常、使用RAII替代手动资源管理,并在构造函数/析构函数中谨慎 阅读详情

相关推荐

双目视觉入门实战:用Matlab标定相机,再到Python OpenCV完成测距的完整链路

本文详细介绍了双目视觉技术的完整实现流程,从Matlab相机标定到Python OpenCV测距的全链路实践。重点解析了Matlab与OpenCV的参数转换技巧,以及立体校正、视差计算等关键步骤的代码实现,帮助开发者快速掌握双目测距系统的搭建方法。

weixin_29166013的博客 448

Java trycatch 异常信息原始数据存到数据库中

异常处理原始数据保存到数据库,或者发送邮件

qq_38483435的博客 1362

泛微OA E9文档管理优化:临时文件清理与存储配置指南

本文深入解析了泛微OA E9系统性能下降的常见原因——临时文件堆积,并提供了完整的优化配置指南。文章详细介绍了临时文件的产生机制,并手把手指导管理员如何通过修改存储路径、调整保留时间、设置白名单等关键配置,有效清理与管理系统临时文件,从而释放存储空间,提升系统运行效率与稳定性。

tree8的博客 432

java怎么把错误信息写入数据库,如何处理连接数据库JavaBean的错误信息

在进行Java数据库开发的时候,我们通常将对数据库的操作封装在JavaBean中。这样在页面中的数据处理时我们就不用将这些语句都放置在try-catch语句了。但是如何返回详细的错误信息呢?在实际操作中,我采用了这样的办法--定义两个私有变量int countInt 和 String strDBError 记录错误编码和错误信息。演示代码如下:package DB;/*** Title:...

weixin_32349711的博客 761

记录LeNet的硬件加速器设计(一)

LeNet的硬件加速器设计实现。

2301_81029398的博客 3545

【XCharts插件】3-1、制作图表及代码生成图表(v1.0)

XCharts插件是一款基于UGUI的功能强大、易用、参数可配置的数据可视化图表插件。【Unity3D插件】XCharts插件完全教程《全网最全》-专栏文章目录OK,这是v1.0版本的XCharts插件的创建图表,代码生成图表的教程。可能有人要问了,既然都更新到v3.0了,还写啥v1.0教程呢。因为有些项目就是用v1.0去制作图表了,也没有太多的精力去更新插件,所以就一直用的v1.0,而且v1.0已经能实现大部分的图标样式了,所以,博主还是单独写了一篇文章来介绍v1.0的功能。

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 1296

Java面试题-异常

Java常见的异常相关面试题

yinying293的博客 886

YOLOv8优化:独家创新(SC_C_Detect)检测头结构创新,实现涨点 | 检测头新颖创新系列

独家创新(SC_C_Detect)检测头结构创新,适合科研创新度十足,强烈推荐

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 4878

Java Exception - 使用try-catch捕获异常

文章目录1. 异常处理机制2. 使用try...catch捕获异常3. 先捕获小异常,再捕获大异常4. 访问异常信息5. 使用finally回收资源 1. 异常处理机制 Java的异常处理机制可以让程序具有极好的容错性,让程序更加健壮。当程序运行出现意外情形时,系统会自动生成一个Exception对象来通知程序,从而实现将“业务功能实现代码”和“错误处理代码”分离,提供更好的可读性。 2. 使用try…catch捕获异常 如果程序可以顺利完成,那就“一切正常”,把系统的业务实现代码放在try块中定义,所有的

你今天真好看呀 1万+

【华为OD机试真题】65、高矮个子排队 | 机试真题+思路参考+代码解析 (C++、Java、Py、C语言、JS)

题目描述 >现在有一队小朋友,他们高矮不同,我们以正整数数组表示这一队小朋友的身高,如数组{5,3,1,2,3}。 >  我们现在希望小朋友排队,以"高" "矮" "高" "矮" 顺序排列,每一个高位置的小朋友要比相邻的位置高或者相等;每个 "矮" 位置的小朋友要比相邻的位置矮或者相等; >  要求小朋友们移动的距离和最小,第一个从“高"位开始排,输出最小移动距离即可。 >  例如,在示范小队{5,3,1,2,3}中, {5, 1, 3, 2, 3}是排序结果。 > 

KJ.JK 2104

VTK 显示大量点云数据及交互(点云拾取、着色、测量等)功能

VTK (Visualization Toolkit) 是一个强大的开源可视化库,非常适合处理点云数据。下面将介绍如何使用 VTK 显示大量点云数据,并实现点云拾取、着色、测量等功能。

深之JohnChen的专栏 2001

Java:简述try-catch-finally异常捕获

Java:简述try-catch-finally异常捕获 在Java中,异常通过try-catch语句捕获。其一般语法形式为: try { // 可能会发生异常的程序代码 } catch (Type1 id1){ // 捕获并处置try抛出的异常类型Type1 } catch (Type2 id2){ //捕获并处置try抛出的异常类型Type2 } 关键词tr...

王小二(海阔天空) 1万+

【ROS机器人系统】自主导航+YOLO目标检测+语音播报

完成自主导航功能,并在小车移动至指定地点的过程中,通过机器人的摄像头检测导航途中所见物体,识别出物体的种类(框选出不同物体并标注识别结果),结合科大讯飞语音合成模块对识别结果进行语音播报。..............................

南京大学软件工程硕士在读 2万+

try……catch的异常捕获机制

参考文章(本博文前部分是这篇博客复制过来的,已验证其正确性): https://blog.youkuaiyun.com/weixin_39850143/article/details/111346809 一,try,catch的运行机制 当程序运行到try catch里面时,如果未报错,则忽略catch中的代码,若报错,则不执行try报错内容后面的代码,转而执行catch中的代码。 二,什么时候try catch 才能捕获到异常? 能捕捉到的异常必须是线程执行已经进入 try catch 但 try catch 未执行

weixin_42349568的博客 5091

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

学习-Java异常处理之try-catch之异常捕获

第1关:学习-Java异常处理之try-catch之异常捕获 任务描述 相关知识 什么是异常 非运行时异常 运行时异常 错误 捕获异常 异常的使用原则 编程要求 测试说明 任务描述 本关任务:求给定两个数的商,并捕获除数为 0 的异常。 相关知识 为了完成本关任务,你需要掌握: 1.什么是异常; 2.如何捕获异常; 3.异常的使用原则。 什么是异常 异常:程序在运行过程中产生的不正常情况。 程序在运行的时候,发生了一些预期之外的事件,从而没有按照我们编写的代码执

aiains的博客 1万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

关于使用多个 catch 语句捕获多个异常问题

关于使用多个 catch 语句捕获多个异常问题

hhduyc的博客 1万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

多个catch捕获异常顺序

写出程序结果 ``` class Exc0 extends Exception{} class Exc1 extends Exc0{} class Demo { public static void main(String[] args) { try { throw new Exc1(); } catch(Exception e) { System.out.println("Except...

bobge的IT专栏 1万+

try-catch异常抛出与捕获

什么时候要考虑异常? 所谓异常就是程序运行时可能出现的一些错误,比如试图打开一个根本不存在的文件,或者除法运算时除数为0,再或者根据实际的业务来判断是否会出现异常。 这里是java的异常类的继承关系树: try-catch-finally结构 try { //包含可能发生异常的语句 call methodA() and maybe throw an exception; call methodB() and maybe throw an exce..

weixin_45693164的博客 1万+

【JavaSE专栏68】异常的捕获和处理,try-catch-finally高效解决异常处理问题

本文讲解了 Java 中异常的捕获和处理概念及语法,并给出了样例代码。捕获异常可以处理运行过程中可能出现的错误情况,防止程序因为异常而终止执行。通过捕获异常并采取合适的处理措施,可以使程序更加健壮和稳定。

Designer 小郑的技术博客 3510

try-catch-Exception真的能捕获所有异常吗?

今天跟大家分享一个平时开发用的最多的小知识点:异常捕获,相信绝大多数程序员都没注意到这个坑,首先上一段伪代码示例给大家看看:public class CatchExceptSample {...

lzy_zhi_yuan的博客 8305

try/catch捕获不到的异常

Throwable可以看做是异常世界中的Object,在Java中所有异常都有一个共同的祖先:Throwable,Throwable有两个重要的子类:Error错误和Exception异常,二者都是异常处理重点类。我们看一下普通的try/catch,接下来这种情况可能会有点特殊,

CaptainCats的博客 7665

Java面向对象:捕获异常try、catch、 finally

程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常

Stardust_fantasy的博客 2323
上一篇: 入门,屏蔽页面JS错误的代码
下一篇: 快速搜索JDK的API中的类和方法
老紫竹
博客等级 码龄19年 1万+粉丝 1252原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值