summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2012-10-16 14:59:39 +0200
committerMaxime Coste <frrrwww@gmail.com>2012-10-16 14:59:39 +0200
commit6ff6058cebd1e501207c9b3b43ee5e4d0fd4d218 (patch)
tree471e3d8d02a6c2705edc809494ad638d1612d14f /src
parent4be6882bd55a8042adf062cfad3c7c50e7b60e0b (diff)
create_buffer_from file return nullptr on file not found instead of throwing
Diffstat (limited to 'src')
-rw-r--r--src/commands.cc8
-rw-r--r--src/file.cc2
2 files changed, 3 insertions, 7 deletions
diff --git a/src/commands.cc b/src/commands.cc
index 97db7e5f..81fb5fb1 100644
--- a/src/commands.cc
+++ b/src/commands.cc
@@ -216,12 +216,8 @@ private:
Buffer* open_or_create(const String& filename, Context& context)
{
- Buffer* buffer = NULL;
- try
- {
- buffer = create_buffer_from_file(filename);
- }
- catch (file_not_found& what)
+ Buffer* buffer = create_buffer_from_file(filename);
+ if (not buffer)
{
context.print_status("new file " + filename);
buffer = new Buffer(filename, Buffer::Type::NewFile);
diff --git a/src/file.cc b/src/file.cc
index b05b5782..ad98e613 100644
--- a/src/file.cc
+++ b/src/file.cc
@@ -76,7 +76,7 @@ Buffer* create_buffer_from_file(const String& filename)
if (fd == -1)
{
if (errno == ENOENT)
- throw file_not_found(filename);
+ return nullptr;
throw file_access_error(filename, strerror(errno));
}