如何修复RuntimeException?

问题描述

import java.sql.Connection;

public static void main(String[] args) throws sqlException,RuntimeException {


    try{

           DriverManager.registerDriver(new com.MysqL.cj.jdbc.Driver());
                       
   String connectionURL="jdbc:MysqL://localhost:3306/aaa?useUnicode=true&useJDBCCompliantTimezoneshift=true&useLegacyDatetimeCode=false&serverTimezone=UTC";
  String login="root";
  String password="aaa";
        
        
        try (Connection conn = DriverManager.getConnection(connectionURL,login,password)) {
            Statement stmt = conn.createStatement();
            
            
            ResultSet rs = stmt.executeQuery("SELECT * FROM Lista1");
            
            
            while(rs.next()) {
                System.out.println(rs.getString("nazwa"));
            }
            rs.close();
            
            
            stmt.close();
        }
    }
    
    catch(sqlException e) {
         System.out.println("Blad polaczenia:");
          e.printstacktrace();
    }
    
    catch(RuntimeException e) {
         System.out.println("Blad polaczenia:");
          e.printstacktrace();
    }

控制台日志抛出:

    Exception in thread "main" java.lang.RuntimeException: 
at cccc.web.Main.main(Main.java:1)

我试图删除退货,但仍然引发了严重问题。 我尝试了很多事情,但不知道如何解决。 我不知道该怎么解决。我花了很多次与它抗争!!!!

解决方法

异常对象包含两件事,可以告诉您发生了什么:异常的特定类型(RuntimeException是基础),如果幸运的话,还会显示一条文本消息告诉您问题出在哪里。

在您的异常处理程序中打印它们。

    System.out.println("Exception: " + e)

当然,stacktrace会告诉您引起问题的源文件的确切行。

这实际上不是“修复”异常的问题,而是了解发生了什么并编写代码来处理这种情况的问题。

,

当错误告诉您异常发生在第一行时,这看起来很像是一个解析问题。在这里看看:

    try (Connection conn = DriverManager.getConnection(connectionURL,login,password)) {
        Statement stmt = conn.createStatement();
        
        
        ResultSet rs = stmt.executeQuery("SELECT * FROM Lista1");
        
        
        while(rs.next()) {
            System.out.println(rs.getString("nazwa"));
        }
        rs.close();
        
        
        stmt.close();
    }

上面的代码是没有try的{​​{1}}。它在外部尝试中。但是一旦使用catch,就需要一个try。修复此解析错误,然后看看是否还有其他问题。