syaki
V2EX  ›  Node.js

万能的 V 友, CodeWars: How can I throw an error here? 求解

  •  1
     
  •   syaki · Jan 23, 2020 · 8472 views
    This topic created in 2333 days ago, the information mentioned may be changed or developed.

    codewars 里的一道题目,求解题思路

    我目前的想法是:通过语法错误抛出 error,避免使用 throw。

    但是如何在不使用 Error 的情况下,定义 Error 的 message。

    另一个思路是如何不使用 throw 抛出一个自定义 message 的 error

    Try to write a function named bang throwing an error with a message string "Just throw like this!" with these limits:

    no invoking require function no invoking function constructors no invoking eval function no throw in your code no Error in your code no \ in your code Also, we removed fs, assert and vm from global scope, and removed assert from console. Do not modify Error in global scope, we do not use it to check.

    5 replies    2020-01-24 11:45:56 +08:00
    EPr2hh6LADQWqRVH
        1
    EPr2hh6LADQWqRVH  
       Jan 23, 2020   ❤️ 1
    懒得知道,小学奥数有意思吗
    bertonzh
        2
    bertonzh  
       Jan 23, 2020
    Function.call 吧
    syaki
        3
    syaki  
    OP
       Jan 23, 2020
    @bertonzh 可以具体说一下如何利用 call 吗,是指对抛异常的 function 用 call 传参数改变 error 的 message 吗
    bertonzh
        4
    bertonzh  
       Jan 23, 2020
    @syaki 就是用 Function.call,传入字符串来构造函数,然后执行。效果相当于 eval 或者 new Function
    zhw2590582
        5
    zhw2590582  
       Jan 24, 2020
    我想到这个,不过异步的应该不符合题目
    Promise.reject('error message')
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   866 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 20:32 · PVG 04:32 · LAX 13:32 · JFK 16:32
    ♥ Do have faith in what you're doing.