<prompt> Andika programu ya Java ambayo inasoma faili ya CSV iliyo na maelezo ya mtumiaji jina, umri, barua pepe na kuhifadhi data katika hifadhidata ya SQLite. Programu inapaswa kuwa na ushughulikiaji wa makosa kwa ingizo batili na nakala rudufu.PLINFORMAT  <response>: agiza java.io.BufferedReader;agiza java.io.FileReader;agiza java.io.IOException;kuagiza java.sql.Connection;agiza java.sql.DriverManager;agiza java.sql.PreparedStatement;agiza java.sql.SQLException;darasa la umma la CsvToDatabase Private tuli final String DB_URL jdbc:sqlite:user_data.db; Kamba ya mwisho tuli ya kibinafsi CREATE_TABLE_SQL UNDA JEDWALI IKIWA HAIPO watumiaji id INTEGER PRIMARY Key AUTOINCREMENT, jina TEXT NOT NULL, umri INTEGER SI NULL, barua pepe TEXT UNIQUE NOT NULL ;; utupu tuli wa umma String args ikiwa args.length ! 1 System.err.printlnMatumizi: java CsvToDatabase ; kurudi; jaribu Muunganisho wa muunganisho DriverManager.getConnectionDB_URL createTablemuunganisho; jaribu Msomaji wa BufferedReader BufferedReader mpya FileReader mpyaargs0 Mstari wa kamba; wakati line reader.readLine ! null Kamba maadili line.split,; ikiwa values.length ! 3 System.err.printlnMuundo batili wa ingizo: mstari; endelea; Jina la mfuatano maadili0.trim; umri wa int; jaribu umri Integer.parseIntvalues1.trim; kamata NumberFormatException e System.err.printlnThamani batili ya umri: maadili1; endelea; Barua pepe ya mfuatano maadili2.trim; addUsermuunganisho, jina, umri, barua pepe; kukamata IOException e System.err.printlnHitilafu katika kusoma faili ya CSV: e.getMessage; catch SQLException e System.err.printlnHitilafu ya kuunganisha kwenye hifadhidata: e.getMessage; Private static void createTableConnection connection hutupa SQLException jaribu PreparedStatement statement connection.prepareStatementCREATE_TABLE_SQL statement.executeUpdate; kibinafsi tuli kiongeza batili Muunganisho wa muunganisho, jina la kamba, umri wa int, barua pepe ya kamba String sql WEKA NDANI ya watumiajijina, umri, barua pepe THAMANI?, ?, ?; jaribu PreparedStatement statement connection.prepareStatementsql statement.setString1, jina; statement.setInt2, umri; statement.setString3, barua pepe; statement.executeUpdate; System.out.printlnMtumiaji aliyeongezwa: jina , umri , barua pepe; catch SQLException e ikiwa e.getErrorCode 19 SQLITE_CONSTRAINT msimbo wa makosa System.err.printlnNakala ingizo la barua pepe: barua pepe; nyengine System.err.printlnHitilafu katika kuongeza mtumiaji: e.getMessage; 