summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/lib/util/chd.c5
-rw-r--r--src/tools/chdman.c6
2 files changed, 11 insertions, 0 deletions
diff --git a/src/lib/util/chd.c b/src/lib/util/chd.c
index 10f85fce4f2..43539103d33 100644
--- a/src/lib/util/chd.c
+++ b/src/lib/util/chd.c
@@ -2665,6 +2665,11 @@ void chd_file_compressor::async_read()
// advance the read pointer
m_read_done_offset += numbytes;
}
+ catch (chd_error& err)
+ {
+ fprintf(stderr, "CHD error occured: %s\n", chd_file::error_string(err));
+ m_read_error = true;
+ }
catch (std::exception& ex)
{
fprintf(stderr, "exception occured: %s\n", ex.what());
diff --git a/src/tools/chdman.c b/src/tools/chdman.c
index e9919bc9625..a824c701d74 100644
--- a/src/tools/chdman.c
+++ b/src/tools/chdman.c
@@ -2923,8 +2923,14 @@ int CLIB_DECL main(int argc, char *argv[])
(*s_commands[cmdnum].handler)(parameters);
return 0;
}
+ catch (chd_error &err)
+ {
+ fprintf(stderr, "CHD error occured (main): %s\n", chd_file::error_string(err));
+ return 1;
+ }
catch (fatal_error &err)
{
+ fprintf(stderr, "Fatal error occured: %d\n", err.error());
return err.error();
}
catch (std::exception& ex)