IDEA默认配置
更多信息参考 官方文档(https://www.jetbrains.com/help/idea/accessing-default-settings.html)
更多信息参考 官方文档(https://www.jetbrains.com/help/idea/accessing-default-settings.html)
打开Run/Debug Configurations, 新增一个远程启动配置项。
点击下图所示倒三角图标,点击“Edit Configurations…”
在新打开的窗口中,点击“+”号图标,找到“Remote”选项并点击
在新打开的窗口中,修改Host配置为远程服务器的地址,5005端口若被占用,修改成一个未被占用的端口号
找到For JDK 1.4.x, 点击后面的复制按钮,将配置参数复制到剪切板
配置参数类似这样:
|
|
点击OK按钮保存并退出
在程序的启动参数中添加刚刚复制的配置参数,并重启程序。
点击Debug按钮启动刚才配置好的启动配置项,就可以远程Debug了。
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
|
|
More info: Writing
|
|
More info: Server
|
|
More info: Generating
|
|
More info: Deployment
RPC
使用try…catch块捕获异常时可以没有catch块,但当没有catch块时必须得有finally块。
Throwable是java语言中所有错误和异常的超类(万物即可抛)。它有两个子类:Error、Exception。
其中Error为错误,是程序无法处理的,如OutOfMemoryError、ThreadDeath等,出现这种情况,JVM在大多数情况下会选择终止线程。
而Exception是程序可以处理的异常。它又分为检查异常(Checked Exception)和运行时异常(RuntimeException)。其中CheckException发生在编译阶段,必须要使用try…catch(或者throws)否则编译不通过。而RuntimeException发生在运行期。
Java将可抛出(Throwable)的结构分为三种类型:被检查的异常(Checked Exception),运行时异常(RuntimeException)和错误(Error)。
(01) 运行时异常
定义: RuntimeException及其子类都被称为运行时异常。
特点: Java编译器不会检查它。也就是说,当程序中可能出现这类异常时,倘若既”没有通过throws声明抛出它”,也”没有用try-catch语句捕获它”,还是会编译通过。例如,除数为零时产生的ArithmeticException异常,数组越界时产生的IndexOutOfBoundsException异常,fail-fail机制产生的ConcurrentModificationException异常等,都属于运行时异常。
虽然Java编译器不会检查运行时异常,但是我们也可以通过throws进行声明抛出,也可以通过try-catch对它进行捕获处理。
如果产生运行时异常,则需要通过修改代码来进行避免。例如,若会发生除数为零的情况,则需要通过代码避免该情况的发生!
(02) 被检查的异常
定义: Exception类本身,以及Exception的子类中除了”运行时异常”之外的其它子类都属于被检查异常。
特点: Java编译器会检查它。此类异常,要么通过throws进行声明抛出,要么通过try-catch进行捕获处理,否则不能通过编译。例如,CloneNotSupportedException就属于被检查异常。当通过clone()接口去克隆一个对象,而该对象对应的类没有实现Cloneable接口,就会抛出CloneNotSupportedException异常。
被检查异常通常都是可以恢复的。
(03) 错误
定义: Error类及其子类。
特点: 和运行时异常一样,编译器也不会对错误进行检查。
当资源不足、约束失败、或是其它程序无法继续运行的条件发生时,就产生错误。程序本身无法修复这些错误的。例如,VirtualMachineError就属于错误。
按照Java惯例,我们是不应该是实现任何新的Error子类的!