Java将异常入库_Exception异常库

什么是异常?

定义:异常是程序在执行过程中,发生不正常的情况。

在java中,异常是一种描述出错信息的对象。

异常是程序在执行过程中所产生的问题。

java.lang.ArithmeticException

算术异常,执行非法的算术表达式时抛出,比如:除0异常。(int x =9\0)

java.lang.ArrayIndexOutOfBoundsException

数组下标越界异常,在访问数组元素,下标为负数或超出数组长度时抛出。

java.lang.ClassCastException

类型转换异常,发生在向下转型时。由父类变量转化为子类类型时,该子类类型和引用对象的类型不匹配时抛出。

java.lang.NoSuchMethodException

方法未找到异常。发生在利用反射查找方法时,该类中不存在该方法时抛出。

java.lang.NoSuchFieldException

属性未找到异常。发生在利用反射查找属性时,该类中不存在该属性时抛出。

java.lang.NullPointerException

空指针异常。发生在对null值进行属性和方法调用时抛出。

java.lang.NumberFormatException

数字格式化异常。发生在将字符串转化为数值时,该字符串不是合法的数值时抛出。

java.io.FileNotFoundException

发生在文件流操作时,所操作的文件不存在时抛出。

java.io.NotSerializableException

未序列化异常。发生在对象序列化时,如果指定对象没有实现序列化接口时抛出。

java.lang.ClassNotFoundException

类没有找到的异常。发生在类加载时,指定的类不存在时抛出。

java.net.UnknownHostException :localho

当连接主机时,主机不存在时抛出。

java.net.ConnectException

连接异常,当连接指定的主机和端口,无法连接时抛出。

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'dbtest5'

无法识别指定数据库。

java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)

连接数据库时,mysql登录用户名或密码错误。

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax;

执行SQL语句时,SQL语法错误。

java.sql.SQLException:Before start of result set

不能在结果集指针起始位置进行结果集数据的获得,必须使用rs.next()将结果集指针,指向第一条记录。

java.lang.IllegalArgumentException

参数异常。通常发生在字符串转化为其他数据类型时,字符串格式不匹配转换格式时抛出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Flink 中,`JdbcSink` 是将数据写入 JDBC 数据的 Sink,如果数据无法写入数据,则会抛出异常。可以通过以下方式进行捕获: 1. 在 `JdbcSink` 中重写 `invoke` 方法,并在方法中捕获异常。例如: ```java public class MyJdbcSink extends JdbcSink<Tuple2<String, Integer>> { @Override public void invoke(Connection connection, Tuple2<String, Integer> value, Context context) throws Exception { try { // 处理数据 } catch (Exception e) { // 捕获异常 } super.invoke(connection, value, context); } } ``` 2. 在 `StreamExecutionEnvironment` 中设置全局异常处理器。例如: ```java StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); env.getConfig().setGlobalJobParameters(params); env.setStreamTimeCharacteristic(TimeCharacteristic.ProcessingTime); env.setParallelism(1); env.setStreamTimeCharacteristic(TimeCharacteristic.ProcessingTime); env.getConfig().setGlobalJobParameters(params); env.setParallelism(1); env.getCheckpointConfig().setCheckpointingMode(CheckpointingMode.EXACTLY_ONCE); env.getCheckpointConfig().setCheckpointTimeout(60000); env.setStreamTimeCharacteristic(TimeCharacteristic.ProcessingTime); env.getConfig().setGlobalJobParameters(params); env.setParallelism(1); // 设置全局异常处理器 env.getConfig().setGlobalJobParameters(params); env.getConfig().setRestartStrategy(RestartStrategies.fixedDelayRestart( 3, // 尝试重启的次数 Time.of(10, TimeUnit.SECONDS) // 时间间隔 )); env.getConfig().setGlobalJobParameters(params); env.setParallelism(1); // 添加 JdbcSink DataStream<Tuple2<String, Integer>> dataStream = ...; dataStream.addSink(new MyJdbcSink()); env.execute("My Flink Job"); ``` 通过以上两种方式,可以捕获 `JdbcSink` 写入数据时产生的异常。需要注意的是,捕获异常后需要根据实际情况进行处理,例如重试或将异常数据写入死信队列等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值