- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在 Raku 中使用散列,但是当我(故意)将一些假值放入其中时,例如
say %key<fake_key>;
我得到
(Any)
但我希望程序在这种情况下死掉,就像 Perl 那样,因为这意味着丢失了重要的数据。
#!/usr/bin/env perl
use strict;
use warnings 'FATAL' => 'all';
use autodie ':all';
my %hash;
print "$hash{y}\n";
截至 5.26.1 产生
Use of uninitialized value $hash{"y"} in concatenation (.) or string at undefined.pl line 8.
Command exited with non-zero status 255
我怎样才能得到等效的
use warnings 'FATAL' => 'all'
和
use autodie qw(:all)
在乐?
最佳答案
你的问题是:
I'm looking for
use autodie qw(:all)
&use warnings 'FATAL' => 'all'
in Raku
autodie
在乐
use autodie qw(:all)
在 Perl 中是
use fatal;
在乐。这是一个词法作用域(至少在 Raku 中是这样)。
autodie
section in the Perl-to-Raku nutshell guide解释例程现在返回
Failure
s 表示错误。
fatal
pragma返回
Failure
从例程自动抛出一个异常,其中包含
Failure
.除非您提供捕获它们的代码,否则这些异常会包装
Failure
s自动死亡。
use warnings 'FATAL'
在乐
use warnings 'FATAL' => 'all'
在 Perl 中是
CONTROL { when CX::Warn { note $_; exit 1 } }
在乐。这是一个词法作用域(至少在 Raku 中是这样)。
CONTROL
exceptions解释了这些是如何工作的。
CONTROL
异常是所有异常的子集
.resume
'd 默认情况下——程序在被抛出时默认保持事件状态。
CONTROL
异常死亡(由于
exit
例程)。
say %key<fake_key>; # (Any)
I want the program to die in such occurrences ...
put
,与
say
不同,它不会试图让您的程序保持事件状态)或 Scimon++ 的
KeyRequired
答案这将使访问不存在的 key 致命。
... as Perl does ...
use warnings 'FATAL' ...
,就像 Raku 在使用等效项时所做的那样。
... because this implies that important data is missing.
KeyRequired
角色)或语句(使用
put
而不是
say
)或词法范围(使用编译指示或
CONTROL
块)。
关于raku - 如何死于未定义的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54312824/
我有类似下面的代码: ... id: myComponent signal updateState() property variant modelList: [] Repeater { mo
我正在处理一些我无法展示的私有(private)代码,但我已经制作了一些示例代码来描述我的问题: 主.c: #include #include #include #include typede
这个问题在这里已经有了答案: 关闭10 年前。 Possible Duplicate: what are the differences in die() and exit() in PHP? 我想
在编写 Perl 模块时,在模块内部使用 croak/die 是一个好习惯吗? 毕竟,如果调用者不使用 eval block ,模块可能会使调用它的程序崩溃。 在这些情况下,最佳做法是什么? 最佳答案
我有一些搜索线程正在存储结果。我知道当线程启动时,JVM native 代码会代理在操作系统上创建新 native 线程的请求。这需要 JVM 之外的一些内存。当线程终止并且我保留对它的引用并将其用作
我刚刚花了很多时间调试一个我追溯到 wantarray() 的问题。 .我已将其提炼为这个测试用例。 (忽略 $! 在这种情况下不会有任何有用信息的事实)。我想知道为什么wantarray在第二个示例
我看到一些代码是这样做的: if(something){ echo 'exit from program'; die; } ...more code 和其他只使用 die 的人: if
我正在尝试将此表格用于: 如果任何 $_POST 变量等于任何其他 $_POST 变量抛出错误。 如果只有几个,那不是问题,但我有大约 20 个左右所以如果我想这样做,我将不得不像这样 但这
每次我运行: hadoop dfsadmin -report 我得到以下输出: Configured Capacity: 0 (0 KB) Present Capacity: 0 (0 KB) DFS
我是一名优秀的程序员,十分优秀!