哪个指令用于在SASS中检测错误

哪个指令用于在SASS中检测错误

在SASS中,指令是以’@’字符开始的特殊符号。在SCSS代码中有各种不同类型的指令,指示编译器以特定的方式处理代码。

本教程中,我们将学习用于抛出错误或调试代码的@error和@debug指令。

@error指令在SASS中的使用

错误指令的表示形式为’@error’,我们可以在需要抛出错误时使用它。例如,如果某些条件不满足,我们需要抛出错误。

语法

用户可以按照以下语法使用’@error’指令来检测SASS中的错误。

@error "error message";

在上述语法中,错误信息被实际的错误所替代,我们需要在输出中显示。

示例1

在下面的示例中,我们在SASS中创建了名为’colors’的对象,其中包含不同颜色及其十六进制代码。 同时,我们创建了changeStyle()函数,它以颜色作为参数。它检查地图是否包含作为参数传递的颜色作为键。如果是,则返回颜色的十六进制代码。否则,返回一个错误。 我们通过传递’blue’作为参数来调用changeStyle()函数,并且用户可以在编译SCSS时在终端中看到错误。

$colors: (
   green: #00ff00,
   white: #ffffff,
);
@function changeStyle($color) {
   @if map-has-key($colors, $color) {
      @return map-get($colors, $style);
   }
   @error "Color is not included in the style: '#{$style}'.";
}
.container {
   style: changeStyle(blue);
}

输出

执行时,它将产生以下输出:

=> changed: C:\Data E\web devlopment  
odedemo\scss\style.scss
{
   "status": 1,
   "file": "C:/Data E/web devlopment/nodedemo/scss/style.scss",
   "line": 11,
   "column": 60,
   "message": "Undefined variable: "style".",
   "formatted": "Error: Undefined variable: "style".  
 on line
   11 of scss/style.scss,
   {$style}'. ";\r  
 -----------------------------------------------^  
"
}

示例2

在下面的示例中,divide()函数以两个值作为参数。如果第二个参数等于零,我们会抛出一个错误。否则,我们返回该数的除法结果。

// writing an scss code to use @error directive
@function divide(a,b) {
   @if b == 0 {
      @error "Division by zero is not allowed.";
   }
   @returna / $b;
}
.one {
   width: divide(10, 2);
}
.two {
   width: divide(10, 1);
}
.three {
   width: divide(10, 0);
}

输出

在输出中,用户可以观察到错误。

=> changed: C:\Data E\web devlopment  
odedemo\scss\style.scss
{
   "status": 1,
   "file": "C:/Data E/web devlopment/nodedemo/scss/style.scss",
   "line": 4,
   "column": 12,
   "message": "Division by zero is not allowed.",
   "formatted": "Error: Division by zero is not allowed.   
 on
   line 4 of scss/style.scss, in file allowed. "; \r  
 ----------------------^  
"
}

@debug指令在SASS中的使用

‘@debug’指令用于调试SASS代码。通过调试代码,开发人员可以知道代码中出现的确切错误位置。例如,我们可以通过调试代码打印变量的值,并且可以手动捕捉错误。

语法

用户可以按照以下语法来使用SASS的‘@debug’指令。

@debug $var-name;

在上面的语法中,将‘var-name’替换为实际的变量名,以便在调试代码时打印其值。

示例3

在下面的示例中,我们使用了@debug指令来调试SASS代码。我们定义了height和border变量并存储了相应的值。

之后,我们使用@debug指令来打印height和border变量的值,用户可以在输出中观察到。

$height: 45rem;
$border: 2px, solid, blue;
div {
   @debug $height;
   @debug $border;
}

输出

执行后,将产生以下输出结果-

=> changed: C:\Data E\web devlopment  
odedemo\scss\style.scss
C:/Data E/web devlopment/nodedemo/scss/style.scss:5 DEBUG: 45rem
C:/Data E/web devlopment/nodedemo/scss/style.scss:6 DEBUG: 2px, solid, blue Rendering Complete, saving .css file...
Wrote CSS to C:\Data E\web devlopment  
odedemo\css\style.css

用户学会使用 @error 和 @debug 指令来在编译 SASS 代码时捕获错误。我们可以使用 @error 指令抛出错误,并通过调试代码使用 @debug 指令捕获错误。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

CSS 精选笔记