`

【Play】异常处理

 
阅读更多

 

【异常一、始终无法启动测试单元】

 

对Play而言,她只允许一个Java文件中包含1个类,或者嵌套类

如果1个Java文件中出现2个以上的类,就会报以下异常:

这可能跟Play及时编译源码运行有关

 

如果是app目录下某个Java文件中包含2个以上的类,则启动应用就会抛异常

如果是test目录下某个Java文件中包含2个以上的类,则启动测试单元就会抛异常

 

解决办法:

将类独立出来,不要放在1个Java文件中。

http://play.lighthouseapp.com/projects/57987/tickets/1379-unexpectedexception

 

 

play.exceptions.UnexpectedException: Unexpected Error
	at play.Play.start(Play.java:556)
	at play.test.PlayJUnitRunner.<init>(PlayJUnitRunner.java:34)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
	at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:31)
	at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:24)
	at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
	at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:29)
	at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
	at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:24)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.<init>(JUnit4TestReference.java:33)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestClassReference.<init>(JUnit4TestClassReference.java:25)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:48)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.lang.NullPointerException
	at play.classloading.ApplicationCompiler$2.acceptResult(ApplicationCompiler.java:266)
	at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:478)
	at play.classloading.ApplicationCompiler.compile(ApplicationCompiler.java:282)
	at play.classloading.ApplicationClassloader.getAllClasses(ApplicationClassloader.java:426)
	at play.Play.start(Play.java:516)
	... 19 more

 

 

分享到:
评论

相关推荐

    airplay java客户端

    10. **异常处理与错误恢复**:网络通信中难免会遇到各种异常,如连接断开、数据传输错误等。良好的异常处理策略能确保客户端在出现问题时能够优雅地恢复或通知用户。 通过以上技术的整合与实现,一个功能完备的Air...

    google_play_services最新

    5. **错误处理**:在使用Google Play服务时,需要处理可能出现的错误和异常,例如网络问题、用户未安装Google Play服务等。 6. **测试兼容性**:由于Google Play服务的更新可能会导致旧设备不兼容,因此在发布应用前...

    play框架手册完整版本

    在此过程中,Play还处理session和cookie,提供异常处理机制等。 3. **标准应用程序布局**:Play框架有特定的目录结构,如: - **app目录**:存放所有应用程序相关的源代码。 - **public目录**:存放静态资源...

    CarPlay认证指南

    CarPlay认证指南详细介绍了这一认证流程,并包含了必须提交的各种材料、认证时间表、测试结果提交、异常请求处理以及与苹果联系的具体方法。 首先,所有打算制造、分销或销售带有CarPlay功能系统的设备制造商,必须...

    play框架的简单增删改查

    - 错误处理:适当处理异常,提供友好的错误信息。 - 安全性:考虑SQL注入和其他安全问题,使用预编译的SQL查询。 - 性能优化:关注数据库查询性能,合理使用索引,避免N+1查询等问题。 通过这个简单的项目,新手...

    play framework 框架手册 word 版

    了解这个生命周期有助于优化性能和处理异常。 3. **HTTP路由**:`routes`文件是路由配置的核心,定义了HTTP请求与控制器动作的对应关系。路由支持RESTful原则,可以设置HTTP方法、URI范式、静态参数和变量。 4. **...

    play框架学习手册

    使用拦截器可以在请求处理之前、之后或异常发生时执行特定的逻辑。 **五模板引擎** 5.1 模板语法 模板语法是Play框架中渲染Web页面的关键。它包括表达式、标签、引用、国际化、注释和脚本。 5.2 模板继承 模板...

    从google play上下载app的APK Downloader 源码

    9. **异常处理**:在处理网络请求和下载过程中,源码可能会包含丰富的错误处理代码,以应对各种可能的网络问题、权限问题和其他异常情况。 10. **许可证和合规性**:开源项目通常有特定的许可证,如Apache 2.0或MIT...

    music-play.rar_play

    8. **异常处理**: 在处理音频文件时,可能会遇到各种错误,如文件不存在、格式不支持等。因此,良好的异常处理是必要的,以确保程序的稳定运行。 9. **资源管理**: 在播放结束后,需要正确关闭音频流和释放系统资源...

    Android-Register用于测试PlayStore结算的Android库和应用程序

    此外,"Register"可能还包含了一些模拟支付失败或取消的情况,这对于测试异常处理和用户体验至关重要。开发者可以通过这些测试来优化他们的错误处理机制,确保即使在支付出现问题时,也能给用户提供清晰的反馈和指引...

    小米Play维修原理图PCB位置图(PDF格式)

    例如,如果手机出现无法开机、电池续航短或者屏幕显示异常等问题,通过对照原理图可以定位可能出问题的电路或组件。 其次,PCB(Printed Circuit Board)位置图则更侧重于实际硬件布局。在PCB位置图上,我们可以...

    C#播放器源码playvideo

    10. **错误处理和异常安全**: 良好的错误处理和异常安全机制是任何软件开发中的关键,确保在遇到问题时能够给出反馈或优雅地恢复。 11. **性能优化**: 对于性能敏感的应用,如视频播放器,开发者需要关注内存管理、...

    MPEG4播放器PLAYA的源代码

    9. **错误处理和调试**:源代码中应包含错误检测和处理机制,以应对各种异常情况。同时,为了方便调试,可能还会有日志输出或断点设置。 深入研究PLAYA的源代码,可以学习到多媒体播放器的设计原理、MPEG4编码解码...

    任务管理系统(基于play框架)

    系统应具备良好的错误处理机制,包括异常捕获和友好的用户反馈。同时,日志记录有助于追踪和诊断问题,Play框架提供日志配置,可以整合如Logback或Log4j等日志框架。 8. **安全性与性能优化**: 除了基本的功能,...

    mp3-embed.zip_play_vb6 mp3 play

    - **错误处理**:编写异常处理代码,以应对可能出现的文件找不到、播放失败等情况。 - **用户界面设计**:为了提供良好的用户体验,通常会设计一个包含播放、暂停、停止等按钮的简单界面,与播放功能相配合。 通过...

    VideoPlay.zip

    6. **错误处理**:别忘了添加错误处理机制,当播放过程中出现异常时,能够优雅地处理并提示用户。 7. **布局设计**:在UI设计上,可以考虑添加播放、暂停、全屏等控制按钮,使用户能够更好地交互。 通过以上步骤,...

    python小甲鱼Play the ball小游戏 -pygame

    总之,Python小甲鱼的"Play the Ball"小游戏结合了Pygame库的诸多特性,包括窗口管理、事件处理、图形绘制、动画制作以及音效集成,是一个全面展示2D游戏开发基础的实例。通过学习和实践这个游戏,你不仅可以掌握...

    (Java)videoplay.rar_ java play_JAVA video_JAVA videopl_VideoPlay

    - 掌握控制流(如if语句、for循环、while循环)以及异常处理(try-catch-finally结构)。 2. **Swing库**: - Java Swing库是用于创建图形用户界面(GUI)的工具包,这个视频播放器的界面将由Swing组件构建,如...

    新建play框架项目.pdf

    这意味着在开发过程中,Play会监测源文件的变化并自动重载,同时在发生异常时提供详细的错误报告。 要启动项目,进入`yabe`目录并运行`play run`。这将启动Web服务器,默认监听9000端口。在浏览器中访问`...

    cosplay8图片压缩2.zip

    11. **错误处理**:编写健壮的代码需要考虑异常处理,比如文件不存在、网络连接问题、权限错误等,确保程序在遇到问题时能够优雅地恢复或退出。 12. **日志记录**:为了追踪程序运行状态和排查问题,可以使用`...

Global site tag (gtag.js) - Google Analytics