Skip to content

Commit 7d9f1ea

Browse files
committed
refactor: throw exception instead of log error
1 parent d4eeedb commit 7d9f1ea

5 files changed

Lines changed: 18 additions & 32 deletions

File tree

src/legacy/api/APIHelp.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,19 +39,19 @@ inline void THROW_WRONG_ARG_TYPE(std::string const& func = {}) {
3939
}
4040

4141
// 参数数量错误输出
42-
inline void LOG_TOO_FEW_ARGS(std::string const& func = {}) {
42+
inline void THROW_TOO_FEW_ARGS(std::string const& func = {}) {
4343
CREATE_EXCEPTION_WITH_SCRIPT_INFO(func, "Too Few arguments!");
4444
}
4545

4646
// 参数数量错误输出
47-
inline void LOG_WRONG_ARGS_COUNT(std::string const& func = {}) {
47+
inline void THROW_WRONG_ARGS_COUNT(std::string const& func = {}) {
4848
CREATE_EXCEPTION_WITH_SCRIPT_INFO(func, "Wrong number of arguments!");
4949
}
5050

5151
// 至少COUNT个参数
5252
#define CHECK_ARGS_COUNT(ARGS, COUNT) \
5353
if (ARGS.size() < COUNT) { \
54-
LOG_TOO_FEW_ARGS(__FUNCTION__); \
54+
THROW_TOO_FEW_ARGS(__FUNCTION__); \
5555
}
5656

5757
// 检查是否TYPE类型
@@ -75,7 +75,7 @@ inline void LOG_WRONG_ARGS_COUNT(std::string const& func = {}) {
7575
// 至少COUNT个参数_Constructor
7676
#define CHECK_ARGS_COUNT_C(ARGS, COUNT) \
7777
if (ARGS.size() < COUNT) { \
78-
LOG_TOO_FEW_ARGS(__FUNCTION__); \
78+
THROW_TOO_FEW_ARGS(__FUNCTION__); \
7979
}
8080

8181
// 检查是否TYPE类型_Constructor

src/legacy/api/BlockAPI.cpp

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -444,8 +444,7 @@ Local<Value> McClass::getBlock(const Arguments& args) {
444444
args[3].asNumber().toInt32()
445445
};
446446
} else {
447-
LOG_WRONG_ARGS_COUNT(__FUNCTION__);
448-
return Local<Value>();
447+
THROW_WRONG_ARGS_COUNT(__FUNCTION__);
449448
}
450449

451450
auto dimPtr = ll::service::getLevel()->getDimension(pos.dim).lock();
@@ -524,8 +523,7 @@ Local<Value> McClass::setBlock(const Arguments& args) {
524523
tileData = args[5].asNumber().toInt32();
525524
}
526525
} else {
527-
LOG_WRONG_ARGS_COUNT(__FUNCTION__);
528-
return Local<Value>();
526+
THROW_WRONG_ARGS_COUNT(__FUNCTION__);
529527
}
530528

531529
if (block.isString()) {
@@ -613,8 +611,7 @@ Local<Value> McClass::spawnParticle(const Arguments& args) {
613611
};
614612
type = args[4];
615613
} else {
616-
LOG_WRONG_ARGS_COUNT(__FUNCTION__);
617-
return Local<Value>();
614+
THROW_WRONG_ARGS_COUNT(__FUNCTION__);
618615
}
619616

620617
ll::service::getLevel()->spawnParticleEffect(

src/legacy/api/EntityAPI.cpp

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -758,8 +758,7 @@ Local<Value> EntityClass::distanceTo(const Arguments& args) {
758758
pos.z = args[2].asNumber().toFloat();
759759
pos.dim = args[3].asNumber().toInt32();
760760
} else {
761-
LOG_WRONG_ARGS_COUNT(__FUNCTION__);
762-
return Local<Value>();
761+
THROW_WRONG_ARGS_COUNT(__FUNCTION__);
763762
}
764763

765764
if (actor->getDimensionId().id != pos.dim) return Number::newNumber(INT_MAX);
@@ -820,8 +819,7 @@ Local<Value> EntityClass::distanceToSqr(const Arguments& args) {
820819
pos.z = args[2].asNumber().toFloat();
821820
pos.dim = args[3].asNumber().toInt32();
822821
} else {
823-
LOG_WRONG_ARGS_COUNT(__FUNCTION__);
824-
return Local<Value>();
822+
THROW_WRONG_ARGS_COUNT(__FUNCTION__);
825823
}
826824

827825
if (actor->getDimensionId().id != pos.dim) return Number::newNumber(INT_MAX);
@@ -1631,8 +1629,7 @@ Local<Value> McClass::getEntities(const Arguments& args) {
16311629
aabb.max = aabb.min + 1;
16321630
}
16331631
} else {
1634-
LOG_TOO_FEW_ARGS(__FUNCTION__);
1635-
return Local<Value>();
1632+
THROW_TOO_FEW_ARGS(__FUNCTION__);
16361633
}
16371634
aabb.max += dis;
16381635
aabb.min -= dis;
@@ -1713,8 +1710,7 @@ Local<Value> McClass::cloneMob(const Arguments& args) {
17131710
args[4].asNumber().toInt32()
17141711
};
17151712
} else {
1716-
LOG_WRONG_ARGS_COUNT(__FUNCTION__);
1717-
return Local<Value>();
1713+
THROW_WRONG_ARGS_COUNT(__FUNCTION__);
17181714
}
17191715
ActorDefinitionIdentifier id(ac->getTypeName());
17201716
Mob* entity = ll::service::getLevel()->getSpawner().spawnMob(
@@ -1771,8 +1767,7 @@ Local<Value> McClass::spawnMob(const Arguments& args) {
17711767
args[4].asNumber().toInt32()
17721768
};
17731769
} else {
1774-
LOG_WRONG_ARGS_COUNT(__FUNCTION__);
1775-
return Local<Value>();
1770+
THROW_WRONG_ARGS_COUNT(__FUNCTION__);
17761771
}
17771772

17781773
ActorDefinitionIdentifier id(name);
@@ -1837,8 +1832,7 @@ Local<Value> McClass::explode(const Arguments& args) {
18371832
};
18381833
break;
18391834
default:
1840-
LOG_WRONG_ARGS_COUNT(__FUNCTION__);
1841-
return Local<Value>();
1835+
THROW_WRONG_ARGS_COUNT(__FUNCTION__);
18421836
break;
18431837
}
18441838
std::optional<Actor*> source = EntityClass::tryExtractActor(args[beginIndex]); // Can be nullptr

src/legacy/api/ItemAPI.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -473,8 +473,7 @@ Local<Value> McClass::newItem(const Arguments& args) {
473473
item->reinit(type, cnt, 0);
474474
return ItemClass::newItem(std::move(item));
475475
} else {
476-
LOG_TOO_FEW_ARGS(__FUNCTION__);
477-
return Local<Value>();
476+
THROW_TOO_FEW_ARGS(__FUNCTION__);
478477
}
479478
} else {
480479
auto nbt = NbtCompoundClass::extract(args[0]);
@@ -526,8 +525,7 @@ Local<Value> McClass::spawnItem(const Arguments& args) {
526525
args[4].asNumber().toInt32()
527526
};
528527
} else {
529-
LOG_WRONG_ARGS_COUNT(__FUNCTION__);
530-
return Local<Value>();
528+
THROW_WRONG_ARGS_COUNT(__FUNCTION__);
531529
}
532530

533531
ItemStack* it = ItemClass::extract(args[0]);

src/legacy/api/PlayerAPI.cpp

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1823,8 +1823,7 @@ Local<Value> PlayerClass::setRespawnPosition(const Arguments& args) {
18231823
args[3].asNumber().toInt32()
18241824
};
18251825
} else {
1826-
LOG_WRONG_ARGS_COUNT(__FUNCTION__);
1827-
return Local<Value>();
1826+
THROW_WRONG_ARGS_COUNT(__FUNCTION__);
18281827
}
18291828
player->setRespawnPosition(pos.getBlockPos(), pos.dim);
18301829
return Boolean::newBoolean(true);
@@ -3619,8 +3618,7 @@ Local<Value> PlayerClass::distanceTo(const Arguments& args) {
36193618
pos.z = args[2].asNumber().toFloat();
36203619
pos.dim = args[3].asNumber().toInt32();
36213620
} else {
3622-
LOG_WRONG_ARGS_COUNT(__FUNCTION__);
3623-
return Local<Value>();
3621+
THROW_WRONG_ARGS_COUNT(__FUNCTION__);
36243622
}
36253623

36263624
if (player->getDimensionId().id != pos.dim) return Number::newNumber(INT_MAX);
@@ -3681,8 +3679,7 @@ Local<Value> PlayerClass::distanceToSqr(const Arguments& args) {
36813679
pos.z = args[2].asNumber().toFloat();
36823680
pos.dim = args[3].asNumber().toInt32();
36833681
} else {
3684-
LOG_WRONG_ARGS_COUNT(__FUNCTION__);
3685-
return Local<Value>();
3682+
THROW_WRONG_ARGS_COUNT(__FUNCTION__);
36863683
}
36873684

36883685
if (player->getDimensionId().id != pos.dim) return Number::newNumber(INT_MAX);

0 commit comments

Comments
 (0)