From 895342bf741e40b03dba6b75573f1f635d26a314 Mon Sep 17 00:00:00 2001 From: Brian Martin <42186431+martinb35@users.noreply.github.com> Date: Wed, 13 Nov 2019 14:57:32 -0800 Subject: [PATCH] return proper error when the model path isn't found (#2391) --- winml/lib/Api.Core/ModelInfo.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/winml/lib/Api.Core/ModelInfo.cpp b/winml/lib/Api.Core/ModelInfo.cpp index b4ea23e581..09fe1659d2 100644 --- a/winml/lib/Api.Core/ModelInfo.cpp +++ b/winml/lib/Api.Core/ModelInfo.cpp @@ -137,6 +137,7 @@ std::unique_ptr WinML::CreateModelProto( const char* path) { int file_descriptor; + _set_errno(0); // clear errno _sopen_s( &file_descriptor, path, @@ -144,6 +145,14 @@ WinML::CreateModelProto( _SH_DENYWR, _S_IREAD | _S_IWRITE); + errno_t err = 0; + _get_errno(&err); + WINML_THROW_HR_IF_TRUE_MSG( + __HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), + err == ENOENT, + "File not found: %s", + path); + WINML_THROW_HR_IF_TRUE_MSG( E_FAIL, 0 > file_descriptor,