小编Xor*_*rty的帖子

你如何记录未经检查的例外情况?

Joshua Bloch在他的Effective Java中写道:

"使用Javadoc @throws标记来记录方法可以抛出的每个未经检查的异常,但不要使用throws关键字在方法声明中包含未经检查的异常."

嗯,这听起来确实合理,但如何找出,我的方法可以抛出什么未经检查的异常?

让我们想一下以下课程:

public class FooClass {

    private MyClass[] myClass;

    /**
     * Creates new FooClass
     */
    public FooClass() { 
        // code omitted
        // do something with myClass
    }

    /**
     * Performs foo operation.<br />
     * Whatever is calculated.
     * @param index Index of a desired element
     * @throws HorribleException When something horrible happens during computation
     */
    public void foo(int index) {
        try {
            myClass[index].doComputation();
        } catch (MyComputationException e) {
            System.out.println("Something horrible happened during computation");
            throw new …
Run Code Online (Sandbox Code Playgroud)

java documentation exception-handling exception

24
推荐指数
1
解决办法
6138
查看次数

Visual Studio - "{}"设置

说真的,我不知道该怎么去谷歌.这就是问题,我喜欢这种类似java的代码编写:

if (condition == true) {
   doSomeStuff();
}
Run Code Online (Sandbox Code Playgroud)

但VisualStudio"帮助"我自己的"风格",我不喜欢,我无法改变(经过相当大的时间绝望检查所有设置:/)

if (condition == true)
{
  DoStuff();
}
Run Code Online (Sandbox Code Playgroud)

我显然希望"{"char在条件相同的行中...

我正在使用MS Visual Studio 2010专业版

任何帮助赞赏!

code-formatting visual-studio

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

带输入流的在线C++编译器?

我有点像键盘在线编辑器(支持C++),但我想使用一些scanf,这是使用键盘不可能的.

是否有一些支持输入流的在线C++编译器?这甚至可能吗?

c++ compiler-construction codepad

17
推荐指数
2
解决办法
3万
查看次数

IntelliJ有Spring命名空间向导吗?

在Spring Source Toolsuite(带有一些Spring调优的Eclipse)中,有一个很好的向导可以在定义新的spring配置时选择命名空间(见图):

在此输入图像描述

我无法在IntelliJ中找到类似的东西.它提供类似的东西吗?

eclipse spring intellij-idea sts-springsourcetoolsuite

17
推荐指数
2
解决办法
6115
查看次数

maven-surefire-plugin,DLLs和java.library.path

我有一个Maven依赖项,需要在运行时使用DLL.我想要做的是简单地在resources/lib文件夹中包含该DLL 并将其DLL放在target目录中.所以我做的是:

  1. 添加了DLL src/main/resources/lib
  2. 修改pom.xml为使用参数-Djava.library.path = $ {basedir}/lib,如下所示:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
            <forkMode>once</forkMode>
            <workingDirectory>target</workingDirectory>
            <argLine>-Djava.library.path=${basedir}/lib</argLine>
        </configuration>
    </plugin>
    
    Run Code Online (Sandbox Code Playgroud)

但是我仍然遇到java.library.path中不存在DLL的运行时错误.

maven

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

Karma没有选择变化,必须运行两次测试

我在OS X上的IntelliJ IDEA(最新版本,13.1.2)上运行了对Karma的Jasmine测试(最新版本,0.12.14).

IntelliJ只使用指向我的业力安装的Karma插件: /usr/local/lib/node_modules/karma

问题是Karma观察者没有从JS文件中选择新的变化.当我再次运行测试时,一切都很好.这不是一个大问题(它们运行速度非常快),但是在进行更改之后总是运行测试两次是很难的.

有人经历过类似的问题吗?

intellij-idea jasmine karma-runner

17
推荐指数
4
解决办法
3714
查看次数

如何在使用Spring时注入多个JPA EntityManager(持久性单元)

我需要使用一个数据库进行查询(非修改),一个用于命令(修改).我使用的是Spring Data JPA,所以我有两个配置类:

@Configuration
@EnableJpaRepositories(value = "com.company.read",
        entityManagerFactoryRef = "readingEntityManagerFactory",
        transactionManagerRef = "readingTransactionManager")
@EnableTransactionManagement
public class SpringDataJpaReadingConfiguration {

    @Bean(name = "readingEntityManagerFactory")
    public EntityManagerFactory readingEntityManagerFactory() {
        return Persistence.createEntityManagerFactory("persistence.reading");
    }

    @Bean(name = "readingExceptionTranslator")
    public HibernateExceptionTranslator readingHibernateExceptionTranslator() {
        return new HibernateExceptionTranslator();
    }

    @Bean(name = "readingTransactionManager")
    public JpaTransactionManager readingTransactionManager() {
        return new JpaTransactionManager();
    }

}

@Configuration
@EnableJpaRepositories(value = "com.company.write",
        entityManagerFactoryRef = "writingEntityManagerFactory",
        transactionManagerRef = "writingTransactionManager")
@EnableTransactionManagement
public class SpringDataJpaWritingConfiguration {

    @Bean(name = "writingEntityManagerFactory")
    public EntityManagerFactory writingEntityManagerFactory() {
        return Persistence.createEntityManagerFactory("persistence.writing");
    }

    @Bean(name = "writingExceptionTranslator")
    public …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate jpa spring-data

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

您是否曾见过合理使用受保护的内部访问修饰符的设计?

我没有,但我不说没有.

所有阅读此内容的C#开发人员可能都知道内部受保护的内容以及何时使用它.我的问题很简单:您是否真的使用过它,或者使用受保护的内部访问修饰符处理成功设计的项目?如果是的话,请分享您的知识并发布好样本,我终于可以欣赏这个棘手的修饰符的巧妙使用.

//我相信这不是主观的,我实际上是在寻求答案;-)

c# access-modifiers

15
推荐指数
2
解决办法
844
查看次数

为什么这段代码被解析为真?

int main() {
    int a = 1;
    int b = 0;

    if (a = b || ++a == 2)
        printf("T: a=%i, b=%i", a, b);
    else
        printf("F: a=%i, b=%i", a, b);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我们来看看这个简单的代码片段.结果是:T:a = 1,b = 0

为什么?(注意a=b使用赋值操作数,而不是比较)

我在这里理解的是,被分配给a,然后a增加到1. 1不等于2.因此结果应该是a = 1,b = 0.但为什么这个条件评估为真?既不是(a=b)也不(++a == 2)是真的......我错过了什么?

这是其他短程序,按预期打印F:

int main() {
    int a = 1;
    int b = 0;

    if (a = b) …
Run Code Online (Sandbox Code Playgroud)

c

13
推荐指数
1
解决办法
373
查看次数

IntelliJ:自动更新资源

我正在使用IntelliJ IDEA开发带有Java后端的AngularJS应用程序.HTML/JS是Tomcat的服务器.

每当我更改HTML/JS文件时,我点击CMD+ F10并选择更新资源,然后刷新我的浏览器,一切正常.

IntelliJ更新对话框

我想问一下IntelliJ是否有办法自动为我做这件事.我知道我可以检查'不要再问',但有时我真的想要重新部署或重启服务器......

tomcat intellij-idea angularjs

13
推荐指数
1
解决办法
6590
查看次数