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.
1
EPr2hh6LADQWqRVH 2020-01-23 14:13:33 +08:00 1
懒得知道,小学奥数有意思吗
|
2
bertonzh 2020-01-23 16:44:48 +08:00
Function.call 吧
|
3
syaki OP @bertonzh 可以具体说一下如何利用 call 吗,是指对抛异常的 function 用 call 传参数改变 error 的 message 吗
|
4
bertonzh 2020-01-23 17:26:39 +08:00
@syaki 就是用 Function.call,传入字符串来构造函数,然后执行。效果相当于 eval 或者 new Function
|
5
zhw2590582 2020-01-24 11:45:56 +08:00
我想到这个,不过异步的应该不符合题目
Promise.reject('error message') |