Skip to content

duk_throw()

1.0.0 error

プロトタイプ

c
duk_ret_t duk_throw(duk_context *ctx);

スタック

| ... | val |

要約

スタックの一番上にある値を投げます。。この呼び出しは決して戻りません。

この関数は決して戻りませんが、プロトタイプは戻り値を記述しており、次のようなコードを可能にします。

c
if (argvalue < 0) {
    duk_push_error_object(ctx, DUK_ERR_TYPE_ERROR, "invalid argument: %d", (int) argvalue);
    return duk_throw(ctx);
}

戻り値が無視される場合、コンパイル時の警告を避けるため、voidにキャストします。

c
if (argvalue < 0) {
    duk_push_error_object(ctx, DUK_ERR_TYPE_ERROR, "invalid argument: %d", (int) argvalue);
    (void) duk_throw(ctx);
}

c
/* Throw a string value; equivalent to the ECMAScript code:
 *
 *   throw "this string is thrown";
 */

duk_push_string(ctx, "this string is thrown");
(void) duk_throw(ctx);

参照

duk_error duk_push_error_object