Coverage Report

Created: 2025-11-09 06:37

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/dng_sdk/source/dng_exceptions.cpp
Line
Count
Source
1
/*****************************************************************************/
2
// Copyright 2006-2007 Adobe Systems Incorporated
3
// All Rights Reserved.
4
//
5
// NOTICE:  Adobe permits you to use, modify, and distribute this file in
6
// accordance with the terms of the Adobe license agreement accompanying it.
7
/*****************************************************************************/
8
9
/* $Id: //mondo/dng_sdk_1_4/dng_sdk/source/dng_exceptions.cpp#2 $ */ 
10
/* $DateTime: 2012/06/06 12:08:58 $ */
11
/* $Change: 833617 $ */
12
/* $Author: tknoll $ */
13
14
/*****************************************************************************/
15
16
#include "dng_exceptions.h"
17
18
#include "dng_flags.h"
19
#include "dng_globals.h"
20
21
/*****************************************************************************/
22
23
#ifndef qDNGReportErrors
24
// assuming this isn't enable on Win, because it's using printf, but an app can redirect that to console
25
#define qDNGReportErrors ((qDNGDebug && qMacOS) || qDNGValidate)
26
#endif
27
28
/*****************************************************************************/
29
30
void ReportWarning (const char *message,
31
            const char *sub_message)
32
197
  {
33
  
34
  
35
  #if qDNGReportErrors
36
37
  if (sub_message)
38
    fprintf (stderr, "*** Warning: %s (%s) ***\n", message, sub_message);
39
  else 
40
    fprintf (stderr, "*** Warning: %s ***\n", message);
41
  
42
  #else
43
44
197
  (void) message;
45
197
  (void) sub_message;
46
  
47
197
  #endif
48
  
49
197
  }
50
51
/*****************************************************************************/
52
53
void ReportError (const char *message,
54
          const char *sub_message)
55
0
  {
56
  
57
  #if qDNGReportErrors
58
59
  if (sub_message)
60
    fprintf (stderr, "*** Error: %s (%s) ***\n", message, sub_message);
61
  else 
62
    fprintf (stderr, "*** Error: %s ***\n", message);
63
  
64
  #else
65
66
0
  (void) message;
67
0
  (void) sub_message;
68
  
69
0
  #endif
70
  
71
0
  }
72
73
/*****************************************************************************/
74
75
void Throw_dng_error (dng_error_code err,
76
            const char *message,
77
            const char *sub_message,
78
            bool silent)
79
619k
  {
80
  
81
  #if qDNGReportErrors
82
  
83
    {
84
    
85
    if (!message)
86
      {
87
    
88
      switch (err)
89
        {
90
        
91
        case dng_error_none:
92
        case dng_error_silent:
93
        case dng_error_user_canceled:
94
          {
95
          break;
96
          }
97
          
98
        case dng_error_not_yet_implemented:
99
          {
100
          message = "Not yet implemented";
101
          break;
102
          }
103
          
104
        case dng_error_host_insufficient:
105
          {
106
          message = "Host insufficient";
107
          break;
108
          }
109
        
110
        case dng_error_memory:
111
          {
112
          message = "Unable to allocate memory";
113
          break;
114
          }
115
          
116
        case dng_error_bad_format:
117
          {
118
          message = "File format is invalid";
119
          break;
120
          }
121
    
122
        case dng_error_matrix_math:
123
          {
124
          message = "Matrix math error";
125
          break;
126
          }
127
    
128
        case dng_error_open_file:
129
          {
130
          message = "Unable to open file";
131
          break;
132
          }
133
          
134
        case dng_error_read_file:
135
          {
136
          message = "File read error";
137
          break;
138
          }
139
          
140
        case dng_error_write_file:
141
          {
142
          message = "File write error";
143
          break;
144
          }
145
          
146
        case dng_error_end_of_file:
147
          {
148
          message = "Unexpected end-of-file";
149
          break;
150
          }
151
          
152
        case dng_error_file_is_damaged:
153
          {
154
          message = "File is damaged";
155
          break;
156
          }
157
          
158
        case dng_error_image_too_big_dng:
159
          {
160
          message = "Image is too big to save as DNG";
161
          break;
162
          }
163
          
164
        case dng_error_image_too_big_tiff:
165
          {
166
          message = "Image is too big to save as TIFF";
167
          break;
168
          }
169
          
170
        case dng_error_unsupported_dng:
171
          {
172
          message = "DNG version is unsupported";
173
          break;
174
          }
175
          
176
        default:
177
          {
178
          message = "Unknown error";
179
          break;
180
          }
181
          
182
        }
183
        
184
      }
185
      
186
    if (message && !silent)
187
      {
188
      ReportError (message, sub_message);
189
      }
190
    
191
    }
192
    
193
  #else
194
  
195
619k
  (void) message;
196
619k
  (void) sub_message;
197
619k
  (void) silent;
198
  
199
619k
  #endif
200
  
201
619k
  throw dng_exception (err);
202
  
203
619k
  }
204
205
/*****************************************************************************/