代码无法在Node.JS中输出错误或异常
我正在使用一个名为GitNode的Node.JS库。我认为这并不重要,但基本上它是Node.JS中git命令的API 我有一段代码,其目的是在现有存储库中创建一个新分支。运行代码后,我知道它没有创建存储库,也知道它工作不正常 这是我的全部代码:代码无法在Node.JS中输出错误或异常,node.js,nodegit,Node.js,Nodegit,我正在使用一个名为GitNode的Node.JS库。我认为这并不重要,但基本上它是Node.JS中git命令的API 我有一段代码,其目的是在现有存储库中创建一个新分支。运行代码后,我知道它没有创建存储库,也知道它工作不正常 这是我的全部代码: var Git = require("nodegit"); var getMostRecentCommit = function(repository) { return repository.getBranchCommit("master");
var Git = require("nodegit");
var getMostRecentCommit = function(repository) {
return repository.getBranchCommit("master");
};
var makeBranch = function(respository) {
console.log("in here1")
repository.createBranch("tester", getMostRecentCommit(repository)).then(
function(reference) {
console.log("good")}, // if it works
function(reasonForFailure) {
console.log("bad_error")}) // createBranch has error case
.catch(function(reasonForFailure) {
console.log("bad_catch")}); // if the error function fails, I also have a catch statement
};
Git.Repository.open("../test_repo")
.then(makeBranch);
我放了很多catch语句,希望能找到我的错误。但我似乎什么都不能输出。短语“错误”或“错误捕获”输出都不正确
我知道代码被破坏了,createBranch无法工作。我测试了一些应该在调用repository.createBranch
后运行的代码,但它从未在调用createBranch之前的任何东西都将运行的地方运行。这表明CreateBranch是问题所在
那么为什么我的错误没有被发现呢
编辑
我已经修复了代码并输出了错误(请参见下面的答案),但我仍然想知道为什么我的其他异常/错误语句无法正常工作。因此,多亏了 我只需要在我的Repository.open()函数中添加一个catch语句
var makeBranch = function(respository) {
console.log("in here1")
repository.createBranch("tester", getMostRecentCommit(repository)).then(
function(reference) {
console.log("good")},
function(reasonForFailure) {
console.log("bad_error")})
.catch(function(reasonForFailure) {
console.log("bad_catch")});
};
Git.Repository.open("../test_repo")
.then(makeBranch).catch(
function(reasonForFailure) {console.log("bad")}); // This Works
如果有人好奇的话,结果发现我传递的是变量respository
,而不是repository
:p
这将输出bad
。那很好。我仍然不太明白为什么这样做有效,但我的另一个catch语句没有。我仍在寻找一个好的答案或解释