onnxruntime
37 строк · 1.2 Кб
1// Copyright (c) Microsoft Corporation. All rights reserved.
2// Licensed under the MIT License.
3
4#import "error_utils.h"
5
6NS_ASSUME_NONNULL_BEGIN
7
8static NSString* const kOrtErrorDomain = @"onnxruntime";
9
10void ORTSaveCodeAndDescriptionToError(int code, const char* descriptionCstr, NSError** error) {
11if (!error) return;
12
13NSString* description = [NSString stringWithCString:descriptionCstr
14encoding:NSASCIIStringEncoding];
15
16*error = [NSError errorWithDomain:kOrtErrorDomain
17code:code
18userInfo:@{NSLocalizedDescriptionKey : description}];
19}
20
21void ORTSaveCodeAndDescriptionToError(int code, NSString* description, NSError** error) {
22if (!error) return;
23
24*error = [NSError errorWithDomain:kOrtErrorDomain
25code:code
26userInfo:@{NSLocalizedDescriptionKey : description}];
27}
28
29void ORTSaveOrtExceptionToError(const Ort::Exception& e, NSError** error) {
30ORTSaveCodeAndDescriptionToError(e.GetOrtErrorCode(), e.what(), error);
31}
32
33void ORTSaveExceptionToError(const std::exception& e, NSError** error) {
34ORTSaveCodeAndDescriptionToError(ORT_RUNTIME_EXCEPTION, e.what(), error);
35}
36
37NS_ASSUME_NONNULL_END
38