受检异常和非受检异常的区别

一、异常

所有异常都继承自java.lang.Throwable,它有两个直接的子类

1、Error

2、Exception

    →RuntimeException

    →CheckException

        →IOException

        →SQLException

如上就表示了对应子类的继承关系。

二、含义

Error:底层和硬件有关的错误,无法捕获,捕获了也没有用

Exception:程序本身抛出的异常,是程序是否严谨导致的,如果不主动捕获,则会被jvm处理

IOException/SQLException:不是程序本身的错误,只是外部因素如文件读写异常、数据库异常,为了保障程序的健壮性,必须要捕获。

总结:

受检异常:必须要捕获;

非受检异常:可捕获也可以不捕获;

处理是通过try/catch和throws

受检异常和非受检异常的处理方式如下:

1.受检异常:红字标注

public static void main (String[] args) throws SQLException {

}

public static void main (String[] args) {

    try {

        throws new SQLException ("sql error");

    } catch (SQLException e) {

    }

}

2.非受检异常:红字标注

public static void main (String[] args) {

    throws new RuntimeException("it is wrong in running");

}

受检异常和非受检异常:都是在程序运行时出现的错误,但是可以从上面两段代码可以看出受检异常和非受检异常的处理方式是不一样的。

三、差异和优势

受检异常:增加代码的健壮性,但是为了对异常进行抛出、捕获和处理异常需要增加较多代码,会降低代码的可读性。

如果异常影响到了系统运行的安全性和正确性的时候,必须对受检异常进行处理,否则这些受检异常是可以装换成非受检异常。

 

### KingbaseES 数据库驱动下载及使用教程 #### 驱动程序下载 KingbaseES 的 JDBC 驱动程序可以从官方渠道获取。通常情况下,可以通过访问人大金仓官方网站或者其文档中心找到适合版本的驱动文件。如果无法通过官网获得,也可以尝试联系技术支持团队请求帮助。 对于具体的下载链接和安装包名,请参考以下路径: - 官方网站:https://www.kingbase.com/ - 文档中心:查找对应版本号下的 `JDBC Driver` 或者相关开发资源[^1] #### 使用方法概述 以下是基于两种常见场景(ETL 工具 Kettle 和 IDE PyCharm)下如何配置并使用 KingbaseES 数据库驱动的方法: ##### 方法一:Kettle 中连接 KingbaseES 数据库 当利用 Pentaho Data Integration (Kettle) 来操作数据时,按照下面步骤设置能够实现与 KingbaseES 成功对接。 1. **数据库类型**: Generic database 2. **Dialect**: Generic database 3. **自定义 URL**: jdbc:kingbase8://<IP>:<Port>/<DBName> 4. **自定义驱动类名称**: com.kingbase8.Driver 完成上述字段填写后保存设置,并执行测试连接功能验证连通性状况是否正常。 ##### 方法二:PyCharm 中连接 KingbaseES 数据库 针对开发者日常使用的集成环境如 JetBrains 系列产品之一——PyCharm ,同样支持多种主流关系型数据库管理系统的接入服务。具体流程如下所示: 1. 显示 Database 工作区; 2. 新建 PostgreSQL 类型的数据源对象实例; 3. 输入必要的认证信息包括但不限于主机地址(Host),目标 DB 名称(Database),以及合法账户凭证(User & Password)[^2]; 注意这里之所以选用 PostgresSQL 而不是其他选项是因为考虑到两者之间存在一定的兼容特性设计因素影响所致[^2]。 ```python import jaydebeapi as jd conn = jd.connect('com.kingbase8.Driver', 'jdbc:kingbase8://your_ip_address:port/dbname', ['username', 'password'], '/path/to/kingbase-jdbc-driver.jar') cursor = conn.cursor() cursor.execute("SELECT * FROM your_table;") rows = cursor.fetchall() for row in rows: print(row) ``` 以上脚本展示了怎样借助 Python 库 JayDeBeApi 实现自动化调用 Java 层面封装好的接口来操控远程部署于服务器端上的 KingbaseES 结构实体记录集查询演示案例. ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值