Skip to content

Commit 35a1fea

Browse files
committed
all: Raise exceptions via mp_raise_XXX
- Changed: ValueError, TypeError, NotImplementedError - OSError invocations unchanged, because the corresponding utility function takes ints, not strings like the long form invocation. - OverflowError, IndexError and RuntimeError etc. not changed for now until we decide whether to add new utility functions.
1 parent b6a3289 commit 35a1fea

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+86
-95
lines changed

drivers/dht/dht.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ STATIC mp_obj_t dht_readinto(mp_obj_t pin_in, mp_obj_t buf_in) {
4040
mp_get_buffer_raise(buf_in, &bufinfo, MP_BUFFER_WRITE);
4141

4242
if (bufinfo.len < 5) {
43-
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "buffer too small"));
43+
mp_raise_ValueError("buffer too small");
4444
}
4545

4646
// issue start command

esp8266/machine_hspi.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -122,15 +122,13 @@ STATIC void machine_hspi_init(mp_obj_base_t *self_in, size_t n_args, const mp_ob
122122
spi_init_gpio(HSPI, SPI_CLK_80MHZ_NODIV);
123123
spi_clock(HSPI, 0, 0);
124124
} else if (self->baudrate > 40000000L) {
125-
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError,
126-
"impossible baudrate"));
125+
mp_raise_ValueError("impossible baudrate");
127126
} else {
128127
uint32_t divider = 40000000L / self->baudrate;
129128
uint16_t prediv = MIN(divider, SPI_CLKDIV_PRE + 1);
130129
uint16_t cntdiv = (divider / prediv) * 2; // cntdiv has to be even
131130
if (cntdiv > SPI_CLKCNT_N + 1 || cntdiv == 0 || prediv == 0) {
132-
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError,
133-
"impossible baudrate"));
131+
mp_raise_ValueError("impossible baudrate");
134132
}
135133
self->baudrate = 80000000L / (prediv * cntdiv);
136134
spi_init_gpio(HSPI, SPI_CLK_USE_DIV);

esp8266/machine_pin.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ void pin_intr_handler(uint32_t status) {
125125

126126
pyb_pin_obj_t *mp_obj_get_pin_obj(mp_obj_t pin_in) {
127127
if (mp_obj_get_type(pin_in) != &pyb_pin_type) {
128-
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "expecting a pin"));
128+
mp_raise_ValueError("expecting a pin");
129129
}
130130
pyb_pin_obj_t *self = pin_in;
131131
return self;
@@ -280,7 +280,7 @@ STATIC mp_obj_t pyb_pin_obj_init_helper(pyb_pin_obj_t *self, mp_uint_t n_args, c
280280
// only pull-down seems to be supported by the hardware, and
281281
// we only expose pull-up behaviour in software
282282
if (pull != GPIO_PULL_NONE) {
283-
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Pin(16) doesn't support pull"));
283+
mp_raise_ValueError("Pin(16) doesn't support pull");
284284
}
285285
} else {
286286
PIN_FUNC_SELECT(self->periph, self->func);
@@ -319,7 +319,7 @@ mp_obj_t mp_pin_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw,
319319
pin = (pyb_pin_obj_t*)&pyb_pin_obj[wanted_pin];
320320
}
321321
if (pin == NULL || pin->base.type == NULL) {
322-
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "invalid pin"));
322+
mp_raise_ValueError("invalid pin");
323323
}
324324

325325
if (n_args > 1 || n_kw > 0) {

esp8266/machine_rtc.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -183,8 +183,7 @@ STATIC mp_obj_t pyb_rtc_memory(mp_uint_t n_args, const mp_obj_t *args) {
183183
mp_get_buffer_raise(args[1], &bufinfo, MP_BUFFER_READ);
184184

185185
if (bufinfo.len > MEM_USER_MAXLEN) {
186-
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError,
187-
"buffer too long"));
186+
mp_raise_ValueError("buffer too long");
188187
}
189188

190189
len = bufinfo.len;
@@ -208,7 +207,7 @@ STATIC mp_obj_t pyb_rtc_alarm(mp_obj_t self_in, mp_obj_t alarm_id, mp_obj_t time
208207

209208
// check we want alarm0
210209
if (mp_obj_get_int(alarm_id) != 0) {
211-
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "invalid alarm"));
210+
mp_raise_ValueError("invalid alarm");
212211
}
213212

214213
// set expiry time (in microseconds)
@@ -245,7 +244,7 @@ STATIC mp_obj_t pyb_rtc_irq(size_t n_args, const mp_obj_t *pos_args, mp_map_t *k
245244

246245
// check we want alarm0
247246
if (args[ARG_trigger].u_int != 0) {
248-
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "invalid alarm"));
247+
mp_raise_ValueError("invalid alarm");
249248
}
250249

251250
// set the wake value

esp8266/modesp.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ STATIC mp_obj_t esp_flash_write(mp_obj_t offset_in, const mp_obj_t buf_in) {
118118
mp_buffer_info_t bufinfo;
119119
mp_get_buffer_raise(buf_in, &bufinfo, MP_BUFFER_READ);
120120
if (bufinfo.len & 0x3) {
121-
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "len must be multiple of 4"));
121+
mp_raise_ValueError("len must be multiple of 4");
122122
}
123123
SpiFlashOpResult res = spi_flash_write(offset, bufinfo.buf, bufinfo.len);
124124
if (res == SPI_FLASH_RESULT_OK) {

esp8266/modmachine.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,7 @@ STATIC mp_obj_t machine_freq(mp_uint_t n_args, const mp_obj_t *args) {
5959
// set
6060
mp_int_t freq = mp_obj_get_int(args[0]) / 1000000;
6161
if (freq != 80 && freq != 160) {
62-
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError,
63-
"frequency can only be either 80Mhz or 160MHz"));
62+
mp_raise_ValueError("frequency can only be either 80Mhz or 160MHz");
6463
}
6564
system_update_cpu_freq(freq);
6665
return mp_const_none;

esp8266/modnetwork.c

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -275,8 +275,7 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(esp_ifconfig_obj, 1, 2, esp_ifconfig)
275275

276276
STATIC mp_obj_t esp_config(size_t n_args, const mp_obj_t *args, mp_map_t *kwargs) {
277277
if (n_args != 1 && kwargs->used != 0) {
278-
nlr_raise(mp_obj_new_exception_msg(&mp_type_TypeError,
279-
"either pos or kw args are allowed"));
278+
mp_raise_TypeError("either pos or kw args are allowed");
280279
}
281280

282281
wlan_if_obj_t *self = MP_OBJ_TO_PTR(args[0]);
@@ -303,8 +302,7 @@ STATIC mp_obj_t esp_config(size_t n_args, const mp_obj_t *args, mp_map_t *kwargs
303302
mp_buffer_info_t bufinfo;
304303
mp_get_buffer_raise(kwargs->table[i].value, &bufinfo, MP_BUFFER_READ);
305304
if (bufinfo.len != 6) {
306-
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError,
307-
"invalid buffer length"));
305+
mp_raise_ValueError("invalid buffer length");
308306
}
309307
wifi_set_macaddr(self->if_id, bufinfo.buf);
310308
break;
@@ -374,8 +372,7 @@ STATIC mp_obj_t esp_config(size_t n_args, const mp_obj_t *args, mp_map_t *kwargs
374372
// Get config
375373

376374
if (n_args != 2) {
377-
nlr_raise(mp_obj_new_exception_msg(&mp_type_TypeError,
378-
"can query only one param"));
375+
mp_raise_TypeError("can query only one param");
379376
}
380377

381378
mp_obj_t val;
@@ -422,8 +419,7 @@ STATIC mp_obj_t esp_config(size_t n_args, const mp_obj_t *args, mp_map_t *kwargs
422419
return val;
423420

424421
unknown:
425-
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError,
426-
"unknown config param"));
422+
mp_raise_ValueError("unknown config param");
427423
}
428424
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(esp_config_obj, 1, esp_config);
429425

extmod/modlwip.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -129,15 +129,15 @@ STATIC mp_obj_t lwip_slip_make_new(mp_obj_t type_in, size_t n_args, size_t n_kw,
129129

130130
ip_addr_t iplocal, ipremote;
131131
if (!ipaddr_aton(mp_obj_str_get_str(args[1]), &iplocal)) {
132-
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "not a valid local IP"));
132+
mp_raise_ValueError("not a valid local IP");
133133
}
134134
if (!ipaddr_aton(mp_obj_str_get_str(args[2]), &ipremote)) {
135-
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "not a valid remote IP"));
135+
mp_raise_ValueError("not a valid remote IP");
136136
}
137137

138138
struct netif *n = &lwip_slip_obj.lwip_netif;
139139
if (netif_add(n, &iplocal, IP_ADDR_BROADCAST, &ipremote, NULL, slipif_init, ip_input) == NULL) {
140-
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "out of memory"));
140+
mp_raise_ValueError("out of memory");
141141
}
142142
netif_set_up(n);
143143
netif_set_default(n);
@@ -1033,7 +1033,7 @@ STATIC mp_obj_t lwip_socket_sendall(mp_obj_t self_in, mp_obj_t buf_in) {
10331033
break;
10341034
}
10351035
case MOD_NETWORK_SOCK_DGRAM:
1036-
mp_not_implemented("");
1036+
mp_raise_NotImplementedError("");
10371037
break;
10381038
}
10391039

extmod/modubinascii.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ mp_obj_t mod_binascii_a2b_base64(mp_obj_t data) {
109109
mp_buffer_info_t bufinfo;
110110
mp_get_buffer_raise(data, &bufinfo, MP_BUFFER_READ);
111111
if (bufinfo.len % 4 != 0) {
112-
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "incorrect padding"));
112+
mp_raise_ValueError("incorrect padding");
113113
}
114114

115115
vstr_t vstr;
@@ -136,11 +136,11 @@ mp_obj_t mod_binascii_a2b_base64(mp_obj_t data) {
136136
hold[j] = 63;
137137
} else if (in[j] == '=') {
138138
if (j < 2 || i > 4) {
139-
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "incorrect padding"));
139+
mp_raise_ValueError("incorrect padding");
140140
}
141141
hold[j] = 64;
142142
} else {
143-
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "invalid character"));
143+
mp_raise_ValueError("invalid character");
144144
}
145145
}
146146
in += 4;

extmod/moductypes.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ typedef struct _mp_obj_uctypes_struct_t {
118118
} mp_obj_uctypes_struct_t;
119119

120120
STATIC NORETURN void syntax_error(void) {
121-
nlr_raise(mp_obj_new_exception_msg(&mp_type_TypeError, "syntax error in uctypes descriptor"));
121+
mp_raise_TypeError("syntax error in uctypes descriptor");
122122
}
123123

124124
STATIC mp_obj_t uctypes_struct_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *args) {
@@ -215,7 +215,7 @@ STATIC mp_uint_t uctypes_struct_size(mp_obj_t desc_in, int layout_type, mp_uint_
215215
// but scalar structure field is lowered into native Python int, so all
216216
// type info is lost. So, we cannot say if it's scalar type description,
217217
// or such lowered scalar.
218-
nlr_raise(mp_obj_new_exception_msg(&mp_type_TypeError, "Cannot unambiguously get sizeof scalar"));
218+
mp_raise_TypeError("Cannot unambiguously get sizeof scalar");
219219
}
220220
syntax_error();
221221
}
@@ -393,7 +393,7 @@ STATIC mp_obj_t uctypes_struct_attr_op(mp_obj_t self_in, qstr attr, mp_obj_t set
393393

394394
// TODO: Support at least OrderedDict in addition
395395
if (!MP_OBJ_IS_TYPE(self->desc, &mp_type_dict)) {
396-
nlr_raise(mp_obj_new_exception_msg(&mp_type_TypeError, "struct: no fields"));
396+
mp_raise_TypeError("struct: no fields");
397397
}
398398

399399
mp_obj_t deref = mp_obj_dict_get(self->desc, MP_OBJ_NEW_QSTR(attr));
@@ -526,7 +526,7 @@ STATIC mp_obj_t uctypes_struct_subscr(mp_obj_t self_in, mp_obj_t index_in, mp_ob
526526
} else {
527527
// load / store
528528
if (!MP_OBJ_IS_TYPE(self->desc, &mp_type_tuple)) {
529-
nlr_raise(mp_obj_new_exception_msg(&mp_type_TypeError, "struct: cannot index"));
529+
mp_raise_TypeError("struct: cannot index");
530530
}
531531

532532
mp_obj_tuple_t *t = MP_OBJ_TO_PTR(self->desc);

0 commit comments

Comments
 (0)