异常和SQLException之间的区别

2024-03-25

有人可以解释一下捕捉和捕捉之间的区别吗?Exception并抓住一个SQLException?我知道如果你选择打印异常错误,SQLException会打印出更多信息,但是还有其他的吗?

try {
   //code
} catch(Exception ex) {
   //code
}

And

try {
   //code
} catch(SQLException ex) {
   //code
}

使用有什么好处和区别Exception and SQLException在 catch 块中?


这不是唯一的区别。

捕捉Exception很危险,因为它也捕获了所有RuntimeException http://docs.oracle.com/javase/8/docs/api/java/lang/RuntimeException.htmls(因此是未经检查的异常),其中包括诸如NullPointerException等等,这是明显的程序员错误。不要那样做!

Also, Exception是一个像任何其他类一样的类,因此您可以对其进行子类化并添加您自己的构造函数/方法。例如,SQLException has a .getErrorCode() method http://docs.oracle.com/javase/8/docs/api/java/sql/SQLException.html#getErrorCode-- which Exception不具有。如果你只抓住Exception,您无法访问此方法。

一般来说,首先捕获“更精确”的异常是最好的。例如,使用新的(Java 7...)文件 API,您可以轻松区分文件系统级别错误和其他 I/O 错误,因为FileSystemException延伸IOException:

try {
    something();
} catch (FileSystemException e) {
    // fs level error
} catch (IOException e) {
    // I/O error
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

异常和SQLException之间的区别 的相关文章

  • 什么是抽象类? [复制]

    这个问题在这里已经有答案了 当我了解抽象类时 我说 WT H 问题 创建一个无法实例化的类有什么意义呢 为什么有人想要这样的课程 什么情况下需要抽象类 如果你明白我的意思 最常见的是用作基类或接口 某些语言有单独的interface构建 有
  • MySQL 跨表计数(*) 查询帮助

    SELECT name COUNT AS count FROM t1 t2 WHERE t2 id t1 id GROUP BY t2 id 我想从 t1 获取名称以及 t2 中 id 与 t1 相同的行数 到目前为止我已经得到了上面的内容
  • 如何在 Java 中向时间戳添加/减去时区偏移量?

    我正在使用 JDK 8 并且玩过ZonedDateTime and Timestamp很多 但我仍然无法解决我面临的问题 假设我得到了格式化的Timestamp在格林威治标准时间 UTC 我的服务器位于某处 假设它设置为Asia Calcu
  • Android中如何使用JNI获取设备ID?

    我想从 c 获取 IMEIJNI 我使用下面的代码 但是遇到了未能获取的错误cls 它总是返回NULL 我检查了环境和上下文 它们都没有问题 为什么我不能得到Context班级 我在网上搜索了一下 有人说我们应该使用java lang Ob
  • Jframe 内有 2 个 Jdialogs 的 setModal 问题

    当我设置第一个选项时 我遇到了问题JDialog模态 第二个非模态 这是我正在尝试实现的功能 单击 测试对话框 按钮 一个JDialog有名字自定义对话框 主要的将会打开 如果单击 是 选项自定义对话框主 其他JDialog named 自
  • java inputstream 打印控制台内容

    sock new Socket www google com 80 out new BufferedOutputStream sock getOutputStream in new BufferedInputStream sock getI
  • 如何在单个查询中搜索 RealmObject 的 RealmList 字段

    假设我有一堂课 public class Company extends RealmObject private String companyId private RealmList
  • 数据库级别的别名列名 [MySQL]

    别名 可能是错误的词 因为它是在将列 表名称作为查询中的其他名称引用的上下文中使用的 我感兴趣的是是否有一种方法可以在数据库中为列指定两个名称 如果我要打印这样的表格 它看起来会是这样的 mysql gt SELECT FROM User
  • Android 无法解析日期异常

    当尝试解析发送到我的 Android 客户端的日期字符串时 我得到一个无法解析的日期 这是例外 java text ParseException 无法解析的日期 2018 09 18T00 00 00Z 位于 偏移量 19 在 java t
  • 将人类日期(当地时间 GMT)转​​换为日期

    我正在服务器上工作 服务器正在向我发送 GMT 本地日期的日期 例如Fri Jun 22 09 29 29 NPT 2018在字符串格式上 我将其转换为日期 如下所示 SimpleDateFormat simpleDateFormat ne
  • 从jar中获取资源

    我有包含文件的 jar myJar res endingRule txt myJar wordcalculator merger Marge class 在 Marge java 中我有代码 private static final Str
  • 如何在.NET中使用java.util.zip.Deflater解压缩放气流?

    之后我有一个转储java util zip Deflater 可以确认它是有效的 因为 Java 的Inflater打开它很好 并且需要在 NET中打开它 byte content ReadSample sampleName var inp
  • 在Java中运行bat文件并等待

    您可能会认为从 Java 启动 bat 文件是一项简单的任务 但事实并非如此 我有一个 bat 文件 它对从文本文件读取的值循环执行一些 sql 命令 它或多或少是这样的 FOR F x in CD listOfThings txt do
  • 蓝牙发送和接收文本数据

    我是 Android 开发新手 我想制作一个使用蓝牙发送和接收文本的应用程序 我得到了有关发送文本的所有内容逻辑工作 但是当我尝试在手机中测试它时 我看不到界面 这是Main Activity Code import android sup
  • 如何在JPanel中设置背景图片

    你好 我使用 JPanel 作为我的框架的容器 然后我真的想在我的面板中使用背景图片 我真的需要帮助 这是我到目前为止的代码 这是更新 请检查这里是我的代码 import java awt import javax swing import
  • 如何区分从 Saxon XPathSelector 返回的属性节点和元素节点

    给定 XML
  • 将 JavaFX FXML 对象分组在一起

    非常具有描述性和信息性的答案将从我这里获得价值 50 声望的赏金 我正在 JavaFX 中开发一个应用程序 对于视图 我使用 FXML
  • 在 Spring 上下文中查找方法级自定义注释

    我想知道的是 所有的类 方法Spring http en wikipedia org wiki Spring Framework注释为 Versioned的bean 我创建了自定义注释 Target ElementType METHOD E
  • 通过Java从MySQL中获取大量记录

    有一个 MySQL 表 服务器上的用户 它有 28 行和 100 万条记录 也可能会增加 我想从这个表中获取所有行 对它们进行一些操作 然后将它们添加到 MongoDB 中 我知道通过简单的 从用户中选择 操作来检索这些记录将花费大量时间
  • 在java中以原子方式获取多个锁

    我有以下代码 注意 为了可读性 我尽可能简化了代码 如果我忘记了任何关键部分 请告诉我 public class User private Relations relations public User relations new Rela

随机推荐

  • Laravel:字符串数据,右截断:1406 数据对于列来说太长

    我有一张桌子 上面有一列 酒店 该项目是在 Laravel 5 4 中创建的 因此我使用了 Migrations table gt string hotel 50 这是 MYSQL VARCHAR 50 它运作良好 因为当我开发时 我使用了
  • Android 操作系统认为应用程序在调试期间处于断点时没有响应

    我不确定这是否是 Android studio 2 0 的问题 还是因为我正在开发的这个新应用程序中存在一些奇怪的项目设置 当我在调试期间停在断点处时 操作系统会向我显示一个对话框 指出应用程序没有响应 并让我选择等待或终止应用程序 然后过
  • 安全方法为无安全性,但不允许页面提取和文档组装

    我有一个非常奇怪的问题 我不确定问题出在哪里 我正在创建 PDF 但未设置任何安全限制或密码 当我在 Adob e Reader DC 中打开 PDF 并获取属性时 它确实将安全方法显示为 无安全 但是 文档组装和页面提取设置为不允许 PD
  • 即席查询和存储过程哪个更好? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • btree是如何存储在光盘上的?

    我知道如何在内存中实现b树 但不清楚如何在光盘中存储trie 我认为主要有两点区别 内存指针和磁盘地址之间的转换 看这个 插入新的k v项时如何拆分页面 在内存中很容易实现 Thanks 这完全取决于您使用的 DBMS 如果您想知道它是如何
  • angular-cli 库创建辅助入口点

    我正在尝试创建我认为所谓的 Angular npm 包的辅助入口点 我想要以下两个入口点 scope data service scope data service models 使用 angular cli 生成基础包生成以下结构 sco
  • linq 中的简单选择查询

    假设我有一个学生表 我想显示 ID 为 1 的学生 SELECT FROM STUDENT ST WHERE ST ID 1 这就是我在 Linq 中实现这一目标的方法 StudentQuery from r in oStudentData
  • VBA - 冒号“:”如何在带有条件的 VBA 代码中工作

    冒号运算符 是VBA中的语句分隔符 但是 有谁知道为什么前三个示例有效而第四个示例 未注释时 会产生错误 Option Explicit Public Sub TestMe If 1 1 Then Debug Print 1 If 2 2
  • 如何将 .txt 读入 Python 对象列表?

    我正在尝试使用 Python 制作纸牌游戏 下面有这个文本文件 其中包括卡 ID 卡名称 卡描述和卡生命值 1 Medusa Feel The Wraith 98 2 Gigle See Him See Him 54 3 Brozi Pin
  • 使用 VLC imem 从内存播放 h264 视频文件但收到错误“主流错误:无法预填充缓冲区”

    我有一个加载到内存中的 h264 视频文件 我尝试使用参数 imem cat 4 使用 imem 播放它 以便 vlc 将使用访问模块来解复用视频 并且 vlc 启动并接收我的 imem参数成功 0x7f38a0000e28 access
  • 如何使用Protocol-buffer在Java中反序列化文件?

    想要在 C 中创建序列化文件 然后想在 Java 中反序列化该文件 为此 我正在使用 Protocol buffer 库 我想要做的是 在 C 中 我添加了 protobuf net dll 要序列化的类表示为 人物 cs ProtoBuf
  • 在 Android 中禁用 Spinner

    我在使用时遇到问题android enabled false 它不是禁用 the 成分在这种情况下 它是spinner 不知道它是否相关 但它属于布局的一部分viewflipper 有任何提示或解决方法吗 Thanks 在设置适配器之前禁用
  • 反转 Map 最简洁的 Scala 方法是什么?

    反转 Map 最简洁的 Scala 方法是什么 映射可能包含非唯一值 EDIT 的逆转Map A B 应该给Map B Set A 或者 MultiMap 那就更好了 如果您可能丢失重复的密钥 scala gt val map Map 1
  • 如何使用代理设置部署 Angular 应用程序

    我有一个代理配置文件 其中有 API 网络服务 链接到目标以调用我们的数据库 此代理配置在本地使用正常工作npm 启动 现在我需要将此应用程序部署到 IIS 上的生产 Windows 服务器 我用了ng build and ng 构建 pr
  • 如何使用 CruiseControl.Net 构建忽略可执行文件的输出?

    我正在运行一个名为 fart exe 的小型查找和替换实用程序 是的 是放屁 如 查找和替换文本 中所示 作为我的 CC 构建的一部分 效果很好 问题是 FART 在工作时会显示一个由管道 破折号 斜线组成的小 ASCII 旋转器 没有办法
  • LINQ Join On Between 子句

    我在组合 LINQ 查询 将根据邮政编码连接表 时遇到一些问题 我需要根据客户的邮政编码是否位于由 ZIPBEG 和 ZIPEND 列确定的邮政编码范围内来加入表 T SQL 看起来像这样 JOIN ZipCodeTable zips ON
  • Angular 2 和浏览器自动填充

    我正在使用 Angular 反应式表单实现登录页面 如果表单无效 登录 按钮将被禁用 import Component OnInit from angular core import FormBuilder FormGroup Valida
  • C++“重载”if() 语句

    是否有可能改变if 以便 class Foo int x Foo foo if foo 仅当价值x是不是零的东西 或者 到 int 的显式用户定义类型转换是否有效 这是一种合适的方法吗 或者 最好做类似的事情if foo getX 您可以通
  • PIL 图像到 QPixmap 转换问题

    今天我一直在努力应对这一挑战 我已经利用之前的帖子和其他资源成功地获得了很好的观点 我正在尝试将 PIL Image 转换为 QPixmap 以便可以在 PyQT GUI 上使用 QgraphicsScene 进行显示 但是当图片显示时颜色
  • 异常和SQLException之间的区别

    有人可以解释一下捕捉和捕捉之间的区别吗 Exception并抓住一个SQLException 我知道如果你选择打印异常错误 SQLException会打印出更多信息 但是还有其他的吗 try code catch Exception ex