Skip to content

Commit 89b1ef5

Browse files
adding better error handling to reading/opening db file (#186)
1 parent 05dd553 commit 89b1ef5

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

connections/berry_db.go

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,22 @@ func QueryBerryData(query string, args ...interface{}) ([]string, error) {
1818
if err != nil {
1919
return nil, fmt.Errorf("failed to create temp file: %w", err)
2020
}
21-
defer os.Remove(tmpFile.Name()) // Clean up
21+
defer func() {
22+
// Close file first
23+
if closeErr := tmpFile.Close(); closeErr != nil {
24+
fmt.Fprintf(os.Stderr, "Warning: failed to close temp file: %v\n", closeErr)
25+
}
26+
27+
// Then remove it
28+
if removeErr := os.Remove(tmpFile.Name()); removeErr != nil {
29+
fmt.Fprintf(os.Stderr, "Warning: failed to remove temp file %s: %v\n", tmpFile.Name(), removeErr)
30+
}
31+
}()
2232

23-
// temp file
33+
// Write to temp file
2434
if _, err := tmpFile.Write(embeddedDB); err != nil {
25-
tmpFile.Close()
2635
return nil, fmt.Errorf("failed to write embedded database: %w", err)
2736
}
28-
tmpFile.Close()
2937

3038
// Open the temp database file
3139
db, err := sql.Open("sqlite", tmpFile.Name())

0 commit comments

Comments
 (0)