summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/formats/fsblk_vec.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/formats/fsblk_vec.cpp')
-rw-r--r--src/lib/formats/fsblk_vec.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/lib/formats/fsblk_vec.cpp b/src/lib/formats/fsblk_vec.cpp
index a1f38898bcb..ff66b2b20ed 100644
--- a/src/lib/formats/fsblk_vec.cpp
+++ b/src/lib/formats/fsblk_vec.cpp
@@ -3,9 +3,13 @@
// Block device on vector<uint8_t>
-#include "emu.h"
#include "fsblk_vec.h"
+#include "strformat.h"
+
+#include <algorithm>
+#include <stdexcept>
+
const uint8_t *fsblk_vec_t::blk_t::rodata()
{
return m_data;
@@ -28,7 +32,7 @@ uint32_t fsblk_vec_t::block_count() const
fsblk_t::block_t fsblk_vec_t::get(uint32_t id)
{
if(id >= block_count())
- fatalerror("Block number overflow: requiring block %d on device of size %d (%d bytes, block size %d)\n", id, block_count(), m_data.size(), m_block_size);
+ throw std::out_of_range(util::string_format("Block number overflow: requiring block %d on device of size %d (%d bytes, block size %d)", id, block_count(), m_data.size(), m_block_size));
return block_t(new blk_t(m_data.data() + m_block_size*id, m_block_size));
}