小编Sha*_*aun的帖子

如果方法抛出异常,Node.js:console.log消息不显示...为什么?

在Node.js中,如果我有一个抛出异常的方法,那么该方法的console.log语句不会触发.我认识到在下面的简单测试用例中,我应该从readFileSync调用中捕获异常,否则就会对它采取防御措施.只是好奇是否有人可以向我解释这种行为.

简单的测试案例:

var fs = require('fs');

function readAFileThatDoesntExist(filename) {
    console.log(filename);
    fs.readFileSync(filename);
}

console.log("We're about to read a file that doesn't exist!");
readAFileThatDoesntExist("afile");
Run Code Online (Sandbox Code Playgroud)

输出:

$ node test.js
We're about to read a file that doesn't exist!

fs.js:338
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^
Error: ENOENT, no such file or directory 'C:\blog\projects\bloggen\scripts\afile'
    at Object.fs.openSync (fs.js:338:18)
    at Object.fs.readFileSync (fs.js:182:15)
    at readAFileThatDoesntExist (C:\blog\projects\bloggen\scripts\test.js:5:8)
    at Object.<anonymous> (C:\blog\projects\bloggen\scripts\test.js:9:1)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.runMain (module.js:492:10)
    at process.startup.processNextTick.process._tickCallback (node.js:244:9)
Run Code Online (Sandbox Code Playgroud)

javascript fs node.js console.log

7
推荐指数
1
解决办法
3万
查看次数

为什么我不能在Scala中的类的伴随对象中访问私有类方法?

我正在为面向对象的设计课做一个家庭作业,而且我在使用Scala的伴侣对象时遇到了麻烦.我在一些地方读过,伴侣对象应该可以访问他们的伴侣类的私有方法,但我似乎无法让它工作.(正如一个注释,作业的内容与实现二叉搜索树有关,所以我不只是要求答案......)

我有一个对象应该创建我的私有类的实例,BstAtlas(Bst也在Atlas对象中定义,为了清楚起见将其取出):

object Atlas {                                             
  def focusRoom(newRoom:Room,a:Atlas):Atlas = a.helpFocusRoom(newRoom);

  abstract class Atlas {
    ...
    protected def helpFocusRoom(n:Room):Atlas;
    ...
  }

  private class BstAtlas(bst:Bst) extends Atlas {
    ...
    protected def helpFocusRoom(newRoom:Room):Atlas = ...
       // uses some of bst's methods
    ...
  }
}
Run Code Online (Sandbox Code Playgroud)

但是当我去编译时,我收到以下错误:

Question23.scala:15:错误:无法在Atlas.Atlas a.helpFocusRoom(newRoom)中访问方法helpFocusRoom;

函数helpFocusRoom需要隐藏,但我不知道如何隐藏它并仍然可以在伴随对象内访问它.

谁能告诉我这里我做错了什么?

oop scala private-methods

6
推荐指数
2
解决办法
1536
查看次数

尽管 jar 在类路径上,但 Ant -verbose 失败并显示“包不存在”

我有以下代码

package myPackage;

import org.neo4j.graphdb;
import org.neo4j.kernel.EmbeddedGraphDatabase;

public class dbServlet extends HttpServlet {

public void init() throws ServletException {
    // Start up the database here                                                      
    GraphDatabaseService graphDb = new EmbeddedGraphDatabase("var/base");

}

public void destroy() {
    graphDb.shutdown();

}
Run Code Online (Sandbox Code Playgroud)

和 build.xml 文件:

<project name="dbServlet" basedir="." default="compile">

  <property name="src.dir" value="src"/>
  <property name="lib.dir" value="lib"/>
  <property name="build.dir"  value="build"/>
  <property name="classes.dir"  value="${build.dir}/classes"/>
  <property name="jar.dir"  value="${build.dir}/jar"/>

  <path id="classpath">
    <fileset dir="${lib.dir}" includes="**/*.jar"/>
  </path>

    <target name="clean">
        <delete dir="${build.dir}"/>
    </target>

    <target name="compile">
        <mkdir dir="${classes.dir}"/>
        <javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="classpath"/>
    </target>

</project> …
Run Code Online (Sandbox Code Playgroud)

java ant javac classpath package

2
推荐指数
1
解决办法
6347
查看次数

标签 统计

ant ×1

classpath ×1

console.log ×1

fs ×1

java ×1

javac ×1

javascript ×1

node.js ×1

oop ×1

package ×1

private-methods ×1

scala ×1