











本文是「far 语言」系列文档之一,总目录见《【far 语言】语言文档目录》。
Far 异常为 Java 风格:
throw三形态 +try{}catch(Type e){}finally{},多 catch 按序匹配。
throw "boom"; // 字符串 → Exception
throw new MyError("custom error"); // 自定义异常对象
throw e; // 再抛
try {
throw "boom";
} catch (Exception e) {
println(e.getMessage());
} finally {
println("finally"); // 无论是否异常都执行
}
interface IError { }
class MyError impl IError { }
try {
throw new MyError("custom");
} catch (MyError e) { // 精确类型名匹配
println("MyError: " + e.getMessage());
} catch (IError e) { // 接口 impl is-a 多态捕获
println("iface: " + e.getMessage());
} catch (Exception e) { // 兜底
println(e.getMessage());
} finally {
println("finally");
}
impl is-a。static void risk(){
throw "deep boom";
}
static void middle(){
risk(); // 无 catch,向上传播
}
static long main(string args[]){
try {
middle(); // 调用点检查逐层向上
} catch (Exception e) {
println(e.getMessage()); // deep boom
}
return 0;
}
try 边界收口。
Rust编程语言群 1036955113
java新手自学群 626070845
java/springboot/hadoop/JVM 群 4915800
Hadoop/mongodb(搭建/开发/运维)Q群481975850
GOLang Q1群:6848027
GOLang Q2群:450509103
GOLang Q3群:436173132
GOLang Q4群:141984758
GOLang Q5群:215535604
C/C++/QT群 1414577
单片机嵌入式/电子电路入门群群 306312845
MUD/LIB/交流群 391486684
Electron/koa/Nodejs/express 214737701
大前端群vue/js/ts 165150391
操作系统研发群:15375777
汇编/辅助/破解新手群:755783453
大数据 elasticsearch 群 481975850
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。